273 Commits

Author SHA1 Message Date
NoneTheWisr
af9e870969 finish intro 2022-02-19 16:43:44 +04:00
NoneTheWisr
cd345cd1e4 fetch upstream 2022-02-19 16:40:18 +04:00
diannasoreil
4cde788d33
Merge pull request #733 from apogeeoak/intro
feat(intro): Proposal to add successfully compiling exercise as the first exercise.
2022-02-04 15:26:15 +01:00
diannasoreil
9838892cf3
Merge pull request #728 from Zerotask/improve-option-further-information
docs(option): improve further information if let and while let
2022-02-04 15:22:23 +01:00
Yang Wen
4f7ff5d9c7
fix(structs3): Add a hint for panic (#608)
as a totally newbie to Rust, I don't know panic statement from https://doc.rust-lang.org/book/ and rustlings in the beginning. After a hard searching of [should_panic], then I figure out panic statement. 

So it's helpful to tell the learner that write a panic statement here.
2022-02-04 15:12:02 +01:00
zydxhs
cbcde34540
fix(errors1): Add a comment to make the purpose more clear (#486)
Signed-off-by: zydxhs <johnsmithcry@163.com>
2022-02-04 15:00:24 +01:00
NoneTheWisr
dec00ccfae finish option 2022-01-28 19:03:34 +04:00
NoneTheWisr
652d862092 finish generics 2022-01-28 19:03:28 +04:00
NoneTheWisr
c4e1ea89f9 finish error_handling 2022-01-28 19:03:19 +04:00
NoneTheWisr
2b413bbb99 finish quiz2 2022-01-28 19:03:11 +04:00
NoneTheWisr
cbc807bc6e finish strings 2022-01-28 19:03:06 +04:00
NoneTheWisr
8fa32768ae finish collections 2022-01-28 19:02:57 +04:00
NoneTheWisr
44b1653057 finish modules 2022-01-28 19:02:50 +04:00
NoneTheWisr
6fd8278883 finish enums 2022-01-28 19:02:44 +04:00
NoneTheWisr
c996e3027e finish structs 2022-01-28 19:02:37 +04:00
NoneTheWisr
3db3c856cd finish primitive_types 2022-01-28 19:02:30 +04:00
NoneTheWisr
79c6e2bddb finish move_semantics 2022-01-28 19:02:24 +04:00
NoneTheWisr
1ed08d9808 finish quiz1 2022-01-28 19:00:28 +04:00
NoneTheWisr
df11d5b28a
finish if (#3) 2022-01-28 18:58:44 +04:00
NoneTheWisr
dac82e87d2
Merge pull request #2 from NoneTheWisr/functions
finish functions
2022-01-28 18:56:32 +04:00
NoneTheWisr
8df1ab1191 finish functions 2022-01-28 18:29:20 +04:00
NoneTheWisr
ead76a7d21 finish variables 2022-01-28 18:25:27 +04:00
ZX
1622e8c198
fix(quiz1): update to say quiz covers "If" 2021-12-29 14:55:37 +08:00
Franklin van Nes
f2650de369 fix(clippy1): Updated code to test correctness clippy lint with approx_constant lint rule
closes #888
2021-12-15 11:46:27 -05:00
Michael Walsh
d1ee2daf14 fix(structs3.rs): assigned value to cents_per_gram in test
Intended to simplify the lesson by removing the need to figure out what the value is meant to be based on the tests.

Previous commits (9ca08b8f2b and 114b54cbdb (diff-ce1c232ff0ddaff909351bb84cb5bff423b5b9e04f21fd4db7ffe443e598e174)) removed the mathematical complexity, and I feel this addition is a needed change to further streamline the exercise.
2021-10-30 16:55:58 -06:00
xuesong
1663a16ead
fix(traits1): rename test functions to snake case (#854)
Co-authored-by: zhangshaozhi <zhangshaozhi@ZhangshaozhideMacBook-Pro.local>
2021-10-18 13:57:12 +02:00
Fredrik Enestad
46c28d5cef
fix(move_semantics5): correct typo (#857) 2021-09-30 10:18:36 +02:00
Zhenghao Lu
bf33829da2
fix(structs3): remove redundant 'return' (#852) 2021-09-27 10:03:28 +02:00
diannasoriel
c2ed98deb3
Merge pull request #781 from tlyu/advanced-errs
feature: advanced errors
2021-09-25 11:18:55 +02:00
Taylor Yu
abd6b70c72 feat: add advanced_errs2
New exercise to demonstrate traits that make it easier for other code
to consume our custom error types.
2021-09-25 11:18:23 +02:00
Taylor Yu
882d535ba8 feat: add advanced_errs1
New section and exercise to demonstrate the `From` trait for errors
and its usefulness with the `?` operator.
2021-09-25 11:18:21 +02:00
frogtd
d75759e829
fix(move_semantics5): change &mut *y to &mut x (#814)
Instead of having to explain why 
```rs
let mut x = 100; 
let y = &mut x;
let mut z_owned = *y;
let z = &mut z_owned;
*y += 100;
*z += 1000;
```
and 
```rs
let mut x = 100; 
let y = &mut x;
let z = &mut *y;
*y += 100;
*z += 1000;
```
are different, you still get the point across about having only one mutable reference.
As it stands, this exercise does too much (dereferencing and having only one mutable reference), and by doing so confuses people.

Example of someone being confused by this:
<https://discord.com/channels/273534239310479360/273541522815713281/872689531428692040>
2021-09-25 10:52:18 +02:00
Weilet
0a11bad714
feat(quiz1): add default function name in comment (#838) 2021-09-21 10:43:44 +02:00
granddaifuku
1c3beb0a59
fix(modules2): fix typo (#835) 2021-09-06 16:32:39 +02:00
anuk909
dfd2fab4f3
feat(modules): update exercises, add modules3 (#822)
Co-authored-by: diannasoriel <mokou@fastmail.com>
2021-09-03 10:41:12 +02:00
diannasoriel
96fc301764
chore(quiz1): revert wording 2021-08-26 10:30:18 +02:00
Damian
03131a3d35
fix(quiz1): Fix inconsistent wording (#826)
The second test expects the function to return 80 when there is an order of 40 apples, but the current wording implies returning 40 will pass as well
2021-08-24 10:48:51 +02:00
ana
df25684cb7 fix(move_semantics5): Clarify instructions 2021-07-29 12:37:15 +02:00
fmoko
8e313cffaa
Merge pull request #732 from apogeeoak/iterators5
chore(iterators5): Minor formatting improvements.
2021-07-09 12:24:42 +02:00
fmoko
6948905716
Merge pull request #737 from ghost/correct-small-typo
Correct small typo in exercises/conversions/from_str.rs
2021-07-08 11:07:21 +02:00
Rakshit Sinha
d876649616
fix(quiz1): Updated question description (#794)
Co-authored-by: Rakshit Sinha <rakshit.sinha@oracle.com>
2021-07-07 22:18:33 +02:00
lauralindzey
8774e47dc3
docs: Update collections README with HashMap link 2021-07-06 01:31:27 -07:00
Laura Lindzey
e422ab1507 docs: Update exercise to chapter mapping for HashMap 2021-07-05 23:07:34 -07:00
Taylor Yu
2dc93cadda fix(from_str, try_from_into): custom error types
Remove the use of trait objects as errors from `from_str` and
`try_from_into`; they seem to have caused a lot of confusion in
practice. (Also, it's considered best practice to use custom error
types instead of boxed errors in library code.) Instead, use custom
error enums, and update hints accordingly. Hints also provide
some guidance about converting errors, which could be covered
more completely in a future advanced errors section.

Also move from_str to directly after the similar exercise `from_into`,
for the sake of familiarity when solving.
2021-06-24 21:33:41 -05:00
marisa
a3ea37b76e
Merge pull request #771 from tlyu/iterators5-trait-tweak
fix(iterators5): derive Clone, Copy
2021-06-24 14:17:05 +02:00
marisa
ec63cadadb
Merge pull request #772 from tlyu/errors-rework
feature: improve error_handling exercises
2021-06-24 14:12:34 +02:00
Taylor Yu
b7ddd09fab address review feedback
Adjust error text and naming to conform with best practices.
Use `map_err()` instead of `or()`. Wrap lower-level errors instead of
ignoring their details.

Also, don't "cheat" by bypassing the `new()` function in tests.

Fix a dangling reference in the try_from_into hints.
2021-06-09 23:27:53 -05:00
ZC
48ffcbd2c4
fix(variables5): confine the answer further
let mut number = 3; can lead to a correct answer, so the comment helps to direct the users to the intended answer.
2021-06-07 18:22:55 +08:00
Taylor Yu
68d3ac567c feature: improve error_handling exercises
Add new exercises errors5 and errors6, to introduce boxed errors and
custom error enums more gently. Delete errorsn, because it tried to do
too much too soon.
2021-06-06 23:08:57 -05:00
Taylor Yu
50ab289da6 fix: rename result1 to errors4
Also put it in the ERROR HANDLING section where it probably belongs.
2021-06-06 23:08:54 -05:00