Commit graph

667 commits

Author SHA1 Message Date
liv 2012641610
Merge pull request #1428 from javihernant/changeLtReadme
change order of references in README.md
2023-03-26 13:23:02 +00:00
liv 864e741dd8 reword hashmaps2 a bit more 2023-03-26 15:21:21 +02:00
liv 6d4a87227d
Merge pull request #1437 from navicore/errors2-comment-error
correct comments in errors2.rs
2023-03-26 12:49:59 +00:00
Tom Kunc d5449c992e
feat(lifetimekata): Add info about Lifetimekata project 2023-03-25 20:00:28 +11:00
Ed Sweeney 4160b06c6c correct comments in errors2.rs 2023-03-24 21:52:58 -07:00
Ryan Whitehouse 5687676014 docs:clarify instructions on hashmaps2.rs 2023-03-20 15:19:36 +01:00
hxztnxt 5d91c86cf2 change order of references in README.md 2023-03-16 00:56:15 +01:00
Adam Brewer 7bab78c66d Rename iteration var names in vec2.rs for clarity
Resolves #1417
2023-03-10 14:13:06 -05:00
liv 36e66b545e
Merge pull request #1396 from 0lhi/main
fix(macros4.rs): Add rustfmt::skip to prevent auto-fix.
2023-02-26 13:10:24 +01:00
Chad Dougherty 8c88f769b6
rustfmt
rustfmt converts "main ()" -> "main()"
2023-02-24 08:51:03 -05:00
0lhi de24536187
macros4.rs: Add rustfmt::skip to prevent auto-fix.
The `macros4.rs` challenge can automatically be solved by rustfmt without the user noticing.

Adding `#[rustfmt::skip]` above the `macro_rules!` line fixes this issue.
2023-02-24 01:43:23 +01:00
Aaron Suggs 1ac66f372b docs: clarify instructions on iterators5.rs
I changed the sentence that referenced the imperative implementation in iterators5.rs.

That implementation was already removed and replaced with `todo!()`
2023-02-21 09:45:59 -05:00
Cyril MARPAUD 045d86aa42 refactor(arc1): improve readability by avoiding implicit dereference 2023-02-18 21:38:43 +01:00
Sebastian Törnquist fef8314d3d
fix(move_semantics2): add expected output comment
You can easily get this to compile with `vec0` being `[]` and `vec1` being `[22, 44, 66, 88]`
2023-02-18 18:43:34 +01:00
Gleb Shevchenko 238a496af5 fix: unify undisclosed type notation in errors5.rs 2023-02-18 14:09:04 +01:00
Daan Wynen bbdc5c6039 refactor(cow1): replace main with tests
Following the discussion in #1195 this is the best I could come up with.
The issue for me (and apparently a few other learners) was that the code
needed to complete the exercise was not _missing_, but was rather there
but wrong.

In the end, what made the difference between this exercise and others
(for me) was that in this exercise I was supposed to learn what to
*expect* of an output. So I think it makes sense here to let the learner
modify the tests and not the code itself.

Fixes #1195

Signed-off-by: Daan Wynen <black.puppydog@gmx.de>

# Conflicts:
#	info.toml
2023-02-14 20:37:33 +01:00
magnusrodseth 48ce9d2fd8 docs: add link to docs about iter_mut and map 2023-02-12 18:26:13 +01:00
liv f123cb2777
Merge pull request #1228 from grzegorz-zur/patch-1
Removed unnecessary use statement
2023-02-12 16:54:43 +01:00
liv 7be4fd891d
Merge pull request #1305 from platformer/issue1298
fix(threads1): make program panic if threads are not joined
2023-02-12 16:50:03 +01:00
liv b3de1b77bf
Merge pull request #1318 from kawaiiPlat/q2-minor-grammar
minor grammar tweak for quiz 2
2023-02-12 15:51:42 +01:00
liv 957522a492 feat(intro1): add note on rust-analyzer usage 2023-02-12 15:47:58 +01:00
Kevin Wan 4771a7b9e7
chore: fix prompt error
Missed a blank line, which causes the prompt incorrect like below:

```rust
You can keep working on this exercise,
or jump into the next one by removing the `I AM NOT DONE` comment:

 6 |  // Make this code compile by using the proper Rc primitives to express that the sun has multiple owners.
 7 |  
 8 |  // I AM NOT DONE
 9 |  use std::rc::Rc;
```
2023-01-23 12:16:51 +08:00
Jarrod Sanders 57834e9f8c
Minor Grammar 2023-01-03 09:22:52 -05:00
seporterfield 9860976af9
added existing chapter for clippy to mapping
It's real! https://doc.rust-lang.org/book/appendix-04-useful-development-tools.html
2023-01-01 02:34:58 +01:00
seporterfield b2b6e6900f
reformatted exercise->chapter mapping
Added and removed rows according to changes to exercise order and grouping.
2023-01-01 02:29:45 +01:00
seporterfield 66eaaf7b6e
fixed formatting 2023-01-01 02:17:53 +01:00
seporterfield 3fad2a9c83
gave smart_pointers its own README.md 2023-01-01 02:17:23 +01:00
seporterfield 8405a61b07
moved iterator exercises 2023-01-01 02:02:49 +01:00
seporterfield e3e298cfa2
moved iterator exercises 2023-01-01 02:02:15 +01:00
seporterfield 0f02a9b9af
moved iterator exercises 2023-01-01 02:00:36 +01:00
seporterfield 5b0d587c22
moved iterator exercises 2023-01-01 01:59:35 +01:00
seporterfield e9dc52c2d3
moved iterator exercises 2023-01-01 01:58:57 +01:00
seporterfield a0c5a892d3
refactoring standard_library_types as iterators 2023-01-01 01:58:04 +01:00
seporterfield a8fd315e09
moved rc to smart_pointers 2023-01-01 01:52:47 +01:00
seporterfield e8c4aab643
moved cow to smart_pointers 2023-01-01 01:52:05 +01:00
seporterfield c3bab88fda
moved box to smart_pointers 2023-01-01 01:51:27 +01:00
seporterfield 05592acf40
move arc to smart_pointers 2023-01-01 01:44:47 +01:00
HerschelW 2f821aa30d chore: update enums3.rs addressing extra parentheses usage with tuples 2022-12-30 08:14:13 -06:00
platformer 7e4ce38681 fix(threads1): make program panic if threads are not joined
closes #1298
2022-12-26 02:25:43 -06:00
liv 40b1b07915
fix(enums3): add extra tuple comment 2022-12-23 16:47:48 +01:00
liv 4ede64b729
Merge pull request #1279 from tkburis/main
Minor changes
2022-12-23 16:44:02 +01:00
liv 4521aed23b
Merge pull request #1293 from tysonliddell/fix_self_parameter
fix: Remove superfluous &self indirection
2022-12-23 16:22:51 +01:00
William Webb e519b5079e
fix(hashmaps3): fix typo in todo hint 2022-12-20 21:17:32 -06:00
Tyson Liddell 71873e676f fix: Remove superfluous &self indirection 2022-12-09 20:49:10 +00:00
TK Buristrakul db53dbc126 chore: tidied up unmatched backticks 2022-11-24 19:41:25 +00:00
TK Buristrakul a315f2fefb chore: added more descriptive TODOs 2022-11-24 19:39:54 +00:00
TK Buristrakul be0b7e084e chore: minor change in comment 2022-11-24 19:20:59 +00:00
mfurak 152193b459 style: format errors6 with rustfmt 2022-11-06 20:42:17 +01:00
mfurak d01ce8304e style: format errors5 with rustfmt 2022-11-06 20:32:43 +01:00
liv 7380e43f28
Merge pull request #1246 from tfpk/patch-1
feat(macros-readme): Add link to MacroKata
2022-10-26 10:49:39 +02:00
Tom Kunc da995b24eb
feat(macros-readme): Add link to MacroKata 2022-10-24 13:57:44 +11:00
Arkid 623161e50d
fix: Revert deref change
Revert the addition of a deref in PR #1192 by me, which should not be there.

Apologies for the inconvenience caused.
2022-10-21 02:45:31 +02:00
liv 49a101b189
Merge pull request #1192 from aaarkid/patch-1
fix: Add a deref in the test code
2022-10-18 11:39:35 +02:00
Matthew Van Schellebeeck ccd73c0a81 style: explicitly use Arc::clone 2022-10-17 22:25:28 -05:00
bhbuehler c157c53983 docs(options1): fix and clarify 24 hour time instruction 2022-10-11 12:05:37 -05:00
Grzegorz Żur da6178bdc6
Removed unnecessary use statement 2022-10-11 10:43:32 +02:00
Duchoud Nicolas 76392d81fa
Added spaces around * 2022-10-04 11:43:23 +02:00
Duchoud Nicolas 4749768734
additional test for fees 2022-10-04 11:36:18 +02:00
Tiago De Gaspari 68fe97bbc2
fix(quiz2): fix comment regarding hints
Change the comment on quiz2.rs, since there are no hints.
2022-09-12 10:53:59 -03:00
Arkid 34ed235885
fix: Add a deref in the test code
It's virtually impossible to write a the `num_sq` function to take the Box since it doesn't implement `MulAssign`.
2022-09-09 02:40:22 +02:00
liv 199150fda2
Merge pull request #1171 from memark/patch-1
Add quotes for readability of output
2022-09-06 12:16:54 +02:00
liv 1d5700e58a
fix(quiz1): add fourth assert 2022-09-06 12:10:53 +02:00
liv 96552e07c2
fix(quiz1): correct explanation once again 2022-09-06 12:09:43 +02:00
Magnus Markling 291da61fda
Add quotes 2022-08-28 15:12:15 +02:00
Magnus Markling 94bdb708fe
Add quotes 2022-08-28 15:10:29 +02:00
Kody Low d6e26bb350 2nd assert is for greater than or equal to, not "more than" like it says in the instructions 2022-08-24 08:33:17 -07:00
magnusrodseth 99ea2cbba7 chore: make options2 not compile deliberately 2022-08-17 16:53:41 +02:00
magnusrodseth 52a29aa84b test: Convert main function to working tests 2022-08-17 12:50:34 +02:00
vostok92 4455c22b9a
Update options1.rs
Fix assertions
2022-08-17 13:51:17 +09:00
liv 1c3b003c7c
Merge branch 'main' into rc-exercise 2022-08-16 09:37:34 +02:00
liv 25ab52b8e7
Merge pull request #1103 from exdx/feat/cow
feat: add cow1.rs exercise
2022-08-16 09:35:53 +02:00
Nico Vromans e8122daa87
Update options1.rs
Added extra test for before 10PM and updated the test for at 10PM (when it's 10PM there should already not be any ice cream left, as per the description). Also fixed the `raw_value` test, as it is later than 10PM, so there should be no more ice cream left.
2022-08-15 10:05:50 +02:00
Markus Boehme 3c84cc1702 fix(options1): remove unused code
Since rewriting the exercise in commit 06e4fd3765 the print_number
function goes unused. Remove it.
2022-08-11 22:54:08 +02:00
liv 26b347a8bd
Merge pull request #1131 from johnmendel/main
fix(traits5): make exercise prefer trait-based solution
2022-08-11 12:30:12 +02:00
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
Ignacio Le Fluk a6509cc4d5
fix(functions3): improve function argument type (#687) 2021-04-04 09:43:25 +02:00
Rod Elias 3df094713f
chore: capitalize c letter
By capitalizing the `c` letter it makes clear that we're talking about the C programming language.
2021-03-20 21:12:49 +01:00
Mickael Fortunato ab9995e76e doc: Update collections exercises instruction to match the standard naming 2021-03-18 19:11:15 +01:00
Mickael Fortunato bef39b1259 fix(collections): Naming exercises for vectors and hashmap 2021-03-18 19:11:04 +01:00
Pascal H 0d894e6ff7
fix(quiz3): Force an answer to Q2 (#672)
Add also an example of unimplemented!() macro.
2021-03-16 10:14:25 +01:00
Pascal H 3bce2ef8d6
chore: clarify collections documentation
C++ `map` is more like BTreeMap.

`unordered_map` in C++(11) is the equivalent of `HashMap` in Rust.
(+ additional like for references).
2021-03-15 09:14:12 +01:00
Darius Wiles 9f3e8c2dde
fix(structs3): reword heading comment (#664) 2021-03-13 12:14:02 +01:00
cadolphs 05a753fe63
fix: add check to prevent naive implementation of is_international
* fix(structs3): Add check to prevent naive implementation

* chore(structs3): Add a missed newline after the test I added
2021-03-12 18:36:35 +01:00
Jirka Kremser 5f7c89f85d
fix(from_str): Correct typos
typos in the comments
2021-02-21 21:50:17 +01:00
apogeeoak c6712dfccd fix(iterators3): Enabled iterators3.rs to run without commented out tests. 2021-02-12 15:36:53 -05:00
apogeeoak baf4ba175b fix(iterators2): Moved errors out of tests.
Closes #359
2021-02-11 21:24:32 -05:00
apogeeoak b29ea17ea9 feat: Added iterators5.rs exercise. 2021-02-10 18:03:29 -05:00
Tal cc266d7d80
fix(move_semantics4): Remove redundant "instead" (#640) 2021-02-07 12:22:13 +01:00
Jean-Francois Chevrette 15e71535f3 fix(from_str): test for error instead of unwrap/should_panic 2021-01-21 07:55:22 -05:00
Sang-Heon Jeon 4f1374a6e7 feat(from_into) : add test for checking unnecessary trailing value 2021-01-09 00:08:38 +09:00
Sang-Heon Jeon 5a0521e92c feat(from_str) : add test for checking unnecessary trailing value 2021-01-09 00:07:13 +09:00
Christian Zeller 7857b0a689
fix(threads1): line number correction 2021-01-06 13:47:20 +01:00
Marius Ungureanu 10965920fb
fix(move_semantics4): Small readbility improvement (#617)
* Small readbility improvement move_semantics4 doc

* Remove `an` as it refers to the argument
2021-01-06 10:12:33 +01:00
Axel Viala 0ef95947cc
fix(functions2): Change signature to trigger precise error message: (#605)
Now trigger this error:
```
error: expected type, found `)`
  --> exercises/functions/functions2.rs:10:16
   |
10 | fn call_me(num:) {
   |                ^ expected type

```
2020-12-27 12:36:38 +01:00
seancad bcf14cf677
fix: update structs README 2020-12-15 08:32:46 +01:00
JuliaCao 90cfb6ff28 fix: added missing exercises to info.toml 2020-12-12 10:34:59 -08:00
Peter N 30644c9a06
fix: gives a bit more context to magic number 2020-12-08 10:08:25 +01:00
JuliaCao 033bf1198f
feat: match exercise order to book chapters (#541)
Added exercise to book chapter mapping table to exercise README
2020-12-07 15:37:19 +01:00
fmoko cdc7d92e57
Merge pull request #592 from tinkhauser/vec1_bugfix
fix(vec1): Have test compare every element in a and v
2020-12-06 15:09:45 +01:00
Christos Kontas 04f1d079aa feat(try_from_into): remove duplicate annotation 2020-12-03 17:51:30 +01:00
Jacob Tinkhauser 9b6c629397
fix(vec1): Have test compare every element in a and v
The previous test would stop comparing elements in array a and vec v upon reaching the last element of either. This resulted in the test passing even if v did not contain all the elements in a. This change to the test fixes that bug and should only pass if all the elements in a and v are present and equal.
2020-11-29 01:35:14 +00:00
Wei Hu 4f4cfcf3c3 fix(try_from_into): type error 2020-11-11 21:02:00 -08:00
JP 96347df9df
fix(try_from_into): Update description (#584)
Description update
2020-11-08 19:30:40 +01:00
fiplox 95ccd92616
feat(try_from_into): Add tests (#571)
Co-authored-by: Volodymyr Patuta <6977238-fiplox@users.noreply.gitlab.com>
2020-11-07 14:01:39 +01:00
JP 197d3a3d89
fix(iterators2): Update description (#578)
grammar fix in the description
2020-11-07 13:54:14 +01:00
sazid 633c00cf80 feat: Add HashMap exercises 2020-10-31 01:11:04 +06:00
sazid 0c12fa31c5 feat: Add Vec exercises 2020-10-31 01:10:49 +06:00
Matthew Smillie 472d8592d6 fix(primitive_types6): remove 'unused doc comment' warning 2020-10-13 23:20:17 -07:00
Matthew Smillie 4fb230daf1 fix(primitive_types6): missing comma in test 2020-10-13 23:18:41 -07:00
Axel Viala 2b1fb2b739
feat(primitive_types6): Add a test (#548)
Co-authored-by: Annika <56906084+AnnikaCodes@users.noreply.github.com>
Co-authored-by: fmoko <mokou@posteo.de>
2020-10-10 16:04:19 +02:00
Ryan McQuen 18e0bfef1d
fix(quiz3): Second test is for odd numbers, not even. (#553) 2020-10-10 13:11:57 +02:00
fmoko 69fc9ce10e
Merge pull request #545 from YJDoc2/main 2020-10-01 12:17:05 +02:00
Yashodhan Joshi 2ec0bdfd99 fix(variables5) : make shadowing more prominent
closes #375
2020-10-01 08:31:42 +05:30
fmoko 2a682abeef
Merge pull request #522 from calvinbrown085/adding-test-for-false-case 2020-09-27 17:05:42 +02:00
Greg Leonard 2933f51949
chore: Change point to comma in from_into.rs
A typo in the fn test_bad_age() hint message had a point rather than comma

Prev:
// Test that "Mark.twenty"

Current:
// Test that "Mark,twenty"
2020-09-25 13:39:52 +02:00
Calvin Brown bec97b6c76
Fixing test3 to have enough tests to make sure we test all cases 2020-09-21 15:23:19 -05:00
Jannek Squar 114b54cbdb
fix(structs3): Small adjustment of variable name
Co-authored-by: Jannek <squar@informatik.uni-hamburg.de>
2020-09-19 21:22:56 +02:00
fmoko 0f16463794
Merge pull request #489 from mukundbhudia/iterators1 2020-09-18 15:23:28 +02:00
Ryan McQuen 3286c5ec19
fix(using_as): Add test so that proper type is returned. (#512) 2020-09-07 19:09:27 +02:00
Koalab99 ee7cdc66b3
chore: Removed extra whitespaces
Co-authored-by: Corentin ARNOULD <corentin.arn@gmail.com>
2020-08-27 19:51:19 +02:00
Samuel Batista 6bb0b48b10
Make macros4 not compile by default
Did you mean this? I'm new to rust and this test passed right away, so unsure what the intention was.
2020-08-26 22:17:03 -04:00
Antoine Barthelemy 101072ab9f fix(exercises): adding question mark to quiz2
Question marks added for consistency.

closes #496
2020-08-25 16:38:41 +02:00
John Heath dd54ccf677
Make comments on example clearer
I actually struggled because I overlooked the fact that I needed to change the 2.1 to "A+". 

So I wanted to make things clearer for future rustlings.
2020-08-24 22:37:31 +01:00
seeplusplus b4062ef699 fix(arc1): index mod should equal thread count 2020-08-16 20:55:50 -04:00
Étienne Barrié 3144d3ae63 chore: Run rustfmt on exercises 2020-08-10 10:24:21 -04:00
Mukund Bhudia 9642f5a3f6 feat: Added iterators1.rs exercise 2020-08-04 12:57:01 +01:00
Chad Dougherty 523d18b873
feat(try_from_into): Add insufficient length test (#469) 2020-07-13 11:39:05 +02:00
Benjamin Jones bb5f404e35 chore: Alter whitespace for consistency
* Add newline after "I AM DONE" in exercises for consistency
* Remove trailing whitespace from exercises
2020-07-11 11:50:54 -07:00
DEWA Kazuyuki/出羽和之 4b6540c71a
fix(enums3): Update Message::ChangeColor to take a tuple. (#457) 2020-07-08 11:56:43 +02:00
fmoko 75c0053bb1
Merge pull request #433 from SebastienCaunes/fix#432
fix : Use of integer for prices, therefore also for weight
2020-06-22 00:09:09 +02:00
Alexx Roche 113cdae2d4
fix(arc1): Passively introduce attributes (#429)
Ensure that std::sync::Arc is actually used, as this exercise can be compiled using things already learnt in previous exercises.
2020-06-14 12:15:35 +02:00
Sebastien Caunes 9ca08b8f2b fix : Use of integer for prices, therefore also for weight
rename confusing "from" and "to" to sender_country and recipient_country as suggested
2020-06-11 11:44:47 -05:00
millefalcon 307252e9ae Added example to show the AsRef working 2020-06-08 07:51:34 -04:00
Alexx Roche bb2ca25110
fix(box1): fix comment typo (#426)
Doesn't effect the code.
2020-06-06 12:07:39 +02:00
Alexx Roche 5563adbb89
fix: fix quiz naming inconsistency (#421)
Inconsistent naming when compared with the other quiz files.
2020-06-03 20:06:35 +02:00
Alexx Roche 524e17df10
fix(variables6): minor typo (#419)
Looks like this was cloned from variables5.rs
2020-06-03 13:34:43 +02:00
fmoko 73e848e96f
Merge pull request #416 from danwilhelm/traits-readme
feat: Add traits README
2020-05-30 17:58:31 +02:00
fmoko 5f0806967c
Merge pull request #409 from AlexandruGG/feature/box-exercise 2020-05-30 17:58:16 +02:00
Dan Wilhelm 173bb14140 feat: Add traits README 2020-05-28 20:21:33 -07:00
fmoko 918f310674
Merge pull request #410 from tsauvajon/fix-option1
fix(option1): Don't add only zeros to the numbers array
2020-05-29 00:33:00 +02:00
Dan Wilhelm 0311c03735 chore: Limit generics3 lines to 90 chars 2020-05-27 23:39:11 -07:00
AlexandruGG df81141d6f Address PR feedback: add tests 2020-05-27 10:03:59 +01:00
Thomas Sauvajon cce6a44277
fix(option1): Don't add only zeros to the numbers array 2020-05-27 18:55:12 +10:00
AlexandruGG 7479a4737b feat: Add box1.rs exercise 2020-05-26 21:46:24 +01:00
Evan Carroll 06ef4cc654
fix: confine the user further in variable exercises
We want to teach a specific lesson. To ensure that we do, let's try to
provide more clarity on what the user should not do.
2020-05-25 10:09:11 +02:00
Jade McGough c7c3130507
chore: remove struct2 hint comment 2020-05-20 08:31:28 +02:00
Sanjay K 010a045692
feat: renames test to quiz, fixes #244
BREAKING CHANGE

* changed test to quiz: fixes issues in #244
* fixed info.toml: #244
* fixed naming related issues
2020-05-19 18:47:44 +02:00
fmoko 51666609f1
Merge pull request #365 from sjmann/generics-2-fix 2020-05-19 17:49:55 +02:00
Stefan Kupresak 10967bce57
fix(option2): Add TODO to comments (#400) 2020-05-16 22:48:18 +02:00
IkaR49 763aa6e378
feat: Rewrite try_from_into (#393) 2020-05-15 23:02:57 +02:00
Gaurang Tandon d6c0a688e6
fix(test2): name of type String and &str (#394) 2020-05-13 12:38:14 +02:00