liv
a7ca40d8a3
Merge pull request #1132 from brianfakhoury/patch-1
...
Fix minor spelling
2022-08-11 12:29:16 +02:00
Mouwrice
ef70ad907f
fix(macros-readme): update the book link to the more recent version of the book
2022-08-09 20:27:27 +02:00
Brian Fakhoury
f25f77e915
Fix minor spelling
2022-08-08 15:39:35 -04:00
John Mendelewski III
a0a06232ce
fix(traits5): make exercise prefer trait-based solution
...
closes #1088
2022-08-07 14:51:16 -04:00
liv
affc815447
Merge pull request #1112 from tvkn/feat/options1/update-expected-result
...
feat(options1): update expected result
2022-08-03 17:34:43 +02:00
mokou
af301a2efe
feat(errors5): add simpler explanation for box dyn
2022-08-03 17:31:42 +02:00
Lioness100
c5ecc37a9a
refactor(box1): prefer todo! over unimplemented!
2022-07-30 10:50:07 -04:00
Tristan Nicholls
a56f648cce
feat(options1): update expected result
...
Expected result is updated to better showcase the difference between
- a valid result with no ice-creams `Some(0)`, and
- an invalid result `None`.
2022-07-26 21:01:09 +02:00
Denton24646
72e21a2a6c
feat: add cow1.rs exercise
2022-07-23 17:59:53 -04:00
Tostapunk
7035d6787c
fix(traits5.rs): wrong line number
2022-07-18 00:27:57 +02:00
Denton24646
ce86d252e5
feat: add rc1.rs exercise
2022-07-16 17:39:03 -04:00
wojexe
b0e070c743
fix(traits4.rs): wrong line number
...
fixes #1067
2022-07-16 19:51:50 +02:00
wojexe
55900c65cb
fix: make strings3.rs comment wording more clear
...
fixes #1063
2022-07-16 17:28:13 +02:00
mokou
5138f22e00
doc: update book links
2022-07-16 14:25:10 +02:00
Neil Pate
c265b681b1
fix(quiz1): change function name
2022-07-15 14:18:31 +02:00
mokou
1a7a3f5c8e
fix(traits): update hint comments
2022-07-15 14:14:48 +02:00
Sam White
63b0c7e399
feat: add traits5.rs exercise
2022-07-15 14:14:15 +02:00
Sam White
599d634ee2
feat: Add traits4.rs exercise
2022-07-15 14:13:44 +02:00
Sam White
f43c6d7877
feat: Add traits3.rs exercise
2022-07-15 14:13:15 +02:00
Rod Elias
9b66b2a0e9
fix(try_from_into): fix function name
2022-07-15 14:08:51 +02:00
jayber
1ef8dacaf6
feat: add lifetimes exercises
2022-07-15 14:03:38 +02:00
exdx
a3b5278b42
feat: add threads3.rs exercise
2022-07-15 13:28:49 +02:00
mokou
a3c4c1ccb4
fix: re-add missing done comments
2022-07-15 13:24:11 +02:00
mokou
b609f0431c
feat: remove advanced_errs
2022-07-15 12:51:12 +02:00
mokou
4bebdb5f02
feat(as_ref_mut): add AsMut section
2022-07-15 12:50:01 +02:00
mokou
81d25aecff
feat(try_from_into): add hint comments
2022-07-15 12:49:49 +02:00
mokou
74f44f55e3
feat(conversions): add hint comments
2022-07-15 12:34:10 +02:00
mokou
8cfedb1673
feat(clippy): add clippy3
2022-07-15 12:28:47 +02:00
mokou
7fc393bed4
chore: remove quiz4
2022-07-15 12:13:40 +02:00
mokou
d3a335bc64
feat(macros): add hint comments
2022-07-15 12:05:26 +02:00
mokou
f99eafc56f
fix(threads): add hint comments
2022-07-15 11:59:53 +02:00
jaystile
b4f52cb937
feat: Adding threads1.rs with a focus on JoinHandles and waiting for
...
spawned threads to finish. Moved the original threads1.rs to threads2.rs
with the focus on the Mutex and modifying shared data. #892
2022-07-15 11:58:26 +02:00
mokou
20024d40c5
feat(iterators): update hint comments
2022-07-14 18:29:09 +02:00
Paulo Gabriel Justino Bezerra
251d0dda34
feat(iterators4): add factorial of zero test
2022-07-14 18:27:34 +02:00
Ryosuke YASUOKA
3c63ef0668
fix(iterators3): insert todo!() into divide() to compile without error
2022-07-14 18:19:35 +02:00
mokou
cf9629cb0e
feat: move box/arc behind iterators
2022-07-14 18:17:23 +02:00
mokou
016d718a28
feat(tests): add hint comments
2022-07-14 18:15:47 +02:00
mokou
98b8d3f17d
feat(traits): add hint comments
2022-07-14 18:14:41 +02:00
mokou
5979d408a9
feat: move generics3 to be quiz3
2022-07-14 18:11:18 +02:00
mokou
d61f79595a
feat(generics): add hint comments
2022-07-14 18:11:05 +02:00
mokou
c34e2adcbb
feat(errors): Improve comments and hints
2022-07-14 18:02:33 +02:00
Noah Cairns
5e1ca4b995
fix(errors5): improve exercise instructions
2022-07-14 17:59:29 +02:00
Steven nguyen
582320aded
chore(errors1): use is_empty()
instead of len() > 0
...
more idiomatic according to clippy
2022-07-14 17:55:07 +02:00
mokou
b71feed824
feat(options): add hint comments
2022-07-14 17:53:42 +02:00
mokou
06e4fd3765
feat(options1): rewrite to remove array stuff
2022-07-14 17:53:27 +02:00
mokou
b644558c19
fix: rename option to options
2022-07-14 17:34:50 +02:00
mokou
472d7944f9
fix(quiz2): add hint comment
2022-07-14 17:30:43 +02:00
mokou
c64b340622
feat: rework quiz2
2022-07-14 13:24:15 +02:00
mokou
f443f4e7b3
feat: move quiz2 to be strings4
2022-07-14 13:01:40 +02:00
mokou
ab8572e15b
fix(hashmaps): adjust hint comments
2022-07-14 12:58:28 +02:00
Sateesh Basavaraju
1e54bc61e8
feat: Add hashmap3 exercise.
2022-07-14 12:57:47 +02:00
mokou
fe54d0f85b
fix(modules): adjust hint comments
2022-07-14 12:35:49 +02:00
mokou
c1ed6b10fe
feat(strings): add strings3
2022-07-14 12:31:28 +02:00
mokou
f5e4c16eed
feat(strings): move before modules
2022-07-14 12:18:21 +02:00
mokou
c6bc97adc1
feat(enums3): add hint comment, remove enums1 hint
2022-07-14 12:11:38 +02:00
mokou
886d599c96
fix(structs): add hint comments
2022-07-14 12:04:54 +02:00
camperdue42
4531c21bf1
fix(structs3): Add panic! statement into structs3
...
closes #685
2022-07-14 12:04:30 +02:00
mokou
4dffa0d10d
fix(structs1): rename to unit-like struct
2022-07-14 12:00:46 +02:00
mokou
19bec50399
feat(structs1): convert structs to use i32 types
2022-07-14 11:59:29 +02:00
mokou
2e62505143
feat(move_semantics): finish updating comments
2022-07-12 15:43:26 +02:00
mokou
bb0cf92b8b
feat(move_semantics): clarify some hints
2022-07-12 15:25:31 +02:00
mokou
7452d0d603
fix(primitive_types): clean up
2022-07-12 15:22:01 +02:00
mokou
3c4c9c54c9
feat: remove collections to hashmaps
2022-07-12 15:18:05 +02:00
mokou
2f7fd51304
feat: move vec exercises into their own folder
2022-07-12 15:16:25 +02:00
mokou
8e1f617d34
feat(vec): update vec exercises
2022-07-12 15:05:47 +02:00
mokou
7af12ba9aa
feat(primitive_types): fixups
2022-07-12 14:54:12 +02:00
Adam Sherwood
5812f1f27b
fix(if2): Rename if2 exercise function to foo_if_fizz.
...
The reasoning here is pretty straightforward: you don't say "Hungry, if
eat." That doesn't make sense. We want to get "foo" back if given
"fizz", so it seems this makes far more sense as "Eat, if hungry," or in
this case, return `foo_if_fizz` is given.
2022-07-12 11:13:04 +02:00
mokou
4868d18ea3
feat(if): replace hints
2022-07-12 11:10:08 +02:00
mokou
742fb08e01
feat(functions): more small fixes
2022-07-12 11:08:29 +02:00
mokou
093a525450
fix(functions): clarify README wording
2022-07-11 14:00:12 +02:00
gavin
60410cfd2e
fix(variables5): Add nudge for shadowing variable
2022-07-11 13:48:49 +02:00
mokou
81edc4234f
fix(variables): reorder and redo hint texts
2022-07-11 13:43:41 +02:00
mokou
c3c21ad91f
fix(intro): clarify hint usage
2022-07-11 13:35:16 +02:00
mokou
0ded8a90c0
feat(intro1): add more hints
2022-07-11 13:19:19 +02:00
mokou
ed0f278a8f
chore: remove mod.rs files and exercises feature
2022-07-11 12:53:49 +02:00
0pling
be3944072c
docs: Add missing exercise to book chapter mapping
2022-06-26 10:27:18 +08:00
diannasoreil
1237aa574c
Merge pull request #969 from Fointard/fointard_using_as
...
refactor(using_as): improve readability by using sum() instead of fold()
2022-04-20 09:15:22 +02:00
fointard
452ab26aa7
refactor(using_as): improve readability by using sum() instead of fold()
2022-04-19 17:37:00 +02:00
fointard
92a5d0037f
refactor(arc1): improve readability by using functional style
2022-04-19 17:11:27 +02:00
diannasoreil
51817820f2
Merge pull request #961 from J-S-Kim/main
...
fix(errors6.rs): remove one answer code
2022-04-14 10:44:22 +02:00
mokou
76a36dd385
chore: update errors1 comments and hint
2022-04-14 10:32:43 +02:00
stevenfukase
60bb7cc393
Fix test ( #958 )
...
fix(errors1): don't modify tests
2022-04-14 10:25:44 +02:00
J-S-Kim
43d0623086
fix(errors6.rs): remove one answer code
...
Although marked as 'TODO', three tests pass without any implementation because the correct answer code already exists.
2022-04-09 01:23:58 +09:00
ragreenburg
89650f808a
fix(move_semantics2): Add comment
2022-04-06 09:29:27 +02:00
Pascal Havé
4dfd85ff05
fix(move_semantics) : add move_semantics6.rs to its mod
2022-04-03 23:51:46 +02:00
Soroush Zare
0bd7a0631a
fix(iterators1): reorder TODO steps
...
Update the TODO steps in the iterators1 exercise.
2022-03-30 13:27:52 +02:00
Lucas Aries
3f0e1303e0
feat: Add move_semantics6.rs exercise ( #908 )
2022-03-29 15:02:35 +02:00
x-hgg-x
179a75a68d
fix: Include exercises folder in the project structure behind a feature ( #917 )
...
closes #859
closes #913
closes #942
2022-03-29 11:44:06 +02: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
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
Taylor Yu
91fc9e3118
fix(iterators5): derive Clone, Copy
...
To allow more flexibility in solutions, derive `Clone` and `Copy`
for `Progress`.
2021-06-06 17:38:02 -05:00
Taylor Yu
1b85828548
fix: move_semantics5 hints
...
Improve the hints for move_semantics5, as well as the explanatory
comments in the code.
Previously, it was not clear what possible changes were allowed.
It seems that reordering the statements might be the intended solution.
The previous comment about not "adding newlines" doesn't make sense,
so treating it as "adding new lines" makes it more clear.
2021-05-22 22:09:58 -05:00
Sateesh
399ab328d8
feat: Add move_semantics5 exercise. ( #746 )
...
* feat: Add move_semantics5 exercise.
* feat: Add option3 exercise
* Address review comments. Fix typos, sentence formatting.
* Remove unwanted newline.
* Address review comments: make comment inline, fix format in print.
2021-05-17 14:10:40 +02:00
Juan Pablo Ramirez
4d4fa77459
fix: remove trailing whitespaces from iterators1
2021-05-12 10:20:07 -05:00
Juan Pablo Ramirez
3145794084
fix: add hints to generics1 and generics2 exercises
2021-05-11 14:50:05 -05:00
Juan Pablo Ramirez
d9b69bd1a0
fix: remove trailing whitespace
2021-05-09 17:58:54 -05:00
Pi Delport
9569c9a9e7
style(standard_library_types): stray line break
2021-04-29 23:31:26 +02:00
Martin HART
86cc85295a
fix: Correct small typo in exercises/conversions/from_str.rs
2021-04-27 21:11:40 +02:00
apogeeoak
9b8de65525
fix(intro1): Add compiler error explanation.
2021-04-26 20:28:17 -04:00
Maarten Tibau
650b1dee54
chore: Update quiz1.rs add explicit test for 40
2021-04-25 19:02:50 +02:00
apogeeoak
21c9f44168
feat(intro): Add intro section.
2021-04-24 13:15:34 -04:00
apogeeoak
7f0d2c2bf0
chore(iterators5): Minor formatting improvements.
2021-04-24 12:42:06 -04:00
Zerotask
4a384cae4a
docs(option): improve further information
2021-04-24 12:12:49 +02:00
Zerotask
249ad44cc0
docs(exercises): updated all exercises readme files
...
all exercises readme files now have a unified structure and a description
2021-04-23 19:54:31 +02:00
marisa
54804e344d
Merge pull request #721 from Zerotask/add-further-help-for-generics3
...
docs(generics): add bounds help
2021-04-23 15:05:00 +02:00
Zerotask
f253103a31
docs(generics): add bounds help
...
add help for bounds provided by the rust by example book
2021-04-22 22:11:04 +02:00
Zerotask
1120db57a6
docs(errors): add additional help for Result/Boxing
...
add additional help information provided by the rust by example book
2021-04-22 21:32:29 +02:00
Brandon Macer
81be404487
feat(arc1): Add more details to description and hint ( #710 )
...
Co-authored-by: bmacer <bmacer@cisco.com>
Co-authored-by: marisa <mokou@fastmail.com>
Co-authored-by: Roberto Vidal <vidal.roberto.j@gmail.com>
2021-04-21 14:50:03 +02:00
marisa
79cc657917
Merge pull request #646 from apogeeoak/iterator
...
Added iterators5.rs exercise.
2021-04-21 10:10:50 +02:00
apogeeoak
9c88ea9126
Improved iterators5.rs explanation.
2021-04-20 18:55:04 -04:00
marisa
2b766ef9f9
Merge pull request #648 from apogeeoak/iterator2
...
Moved iterators2.rs errors out of tests.
2021-04-20 11:24:10 +02:00
marisa
bd3d9ac9d5
Merge pull request #649 from apogeeoak/iterator3
...
Enabled iterators3.rs to run without commented out tests.
2021-04-20 11:22:39 +02:00
Shao Yang Hong
6bd791f2f4
fix(structs): Add 5.3 to structs/README ( #652 )
...
Co-authored-by: Shao Yang Hong <shaoyang.hong@ninjavan.co>
2021-04-20 11:19:24 +02:00
k12ish
b4de659438
fix(option2): Rename uninformative variables ( #675 )
...
Renaming uninformative names like `optional_value`, `value`, `optional_values_vec` and `value` helps users distinguish between the two parts of the task.
2021-04-20 11:18:05 +02:00
Pete Pavlovski
72aaa15e6a
fix(hashmap2): Update incorrect assertion ( #660 )
...
The test description says "at least five types of fruit", but the test itself is checking for exactly five types of fruit, which was a bit misleading for newcomers like me :)
A simple change from "==" to ">=" should do the trick and successfully check for the "at least" condition.
2021-04-20 11:15:49 +02:00
Abdou Seck
f2ad3a6a0b
Merge pull request #697 from WowSuchRicky/main
...
Rename 'Lichi' to 'Lychee' in the fruit example
2021-04-13 10:40:07 -04:00
Abdou Seck
caf921a01f
Merge pull request #674 from Morsicus/fix/collections-exercises-naming
...
Update collections exercises naming
2021-04-13 10:39:18 -04:00
WowSuchRicky
b790bafc02
Rename lichi to lychee in the fruit example
2021-04-09 14:08:02 -07:00
Taylor Yu
c3e7b83178
fix: use trait objects for from_str
...
Use `Box<dyn error::Error>` to allow solutions to use `?` to propagate
errors.
2021-04-04 18:56:10 -05:00
Taylor Yu
2e93a588e0
fix: use trait objects for try_from_into
...
Use `Box<dyn error::Error>` to allow solutions to use `?` to propagate
errors. In the tests, explicitly check `is_ok()` instead of trying to
force the error type to `String` (or other `PartialEq` type) using
`assert_eq!()`.
2021-04-04 12:41:32 -05:00