Commit Graph

303 Commits (c34e2adcbb261f71fbd013d61257457dd84bd849)

Author SHA1 Message Date
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.
3 years ago
zydxhs cbcde34540
fix(errors1): Add a comment to make the purpose more clear (#486)
Signed-off-by: zydxhs <johnsmithcry@163.com>
3 years ago
ZX 1622e8c198
fix(quiz1): update to say quiz covers "If" 3 years ago
Franklin van Nes f2650de369 fix(clippy1): Updated code to test correctness clippy lint with approx_constant lint rule
closes #888
3 years ago
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.
3 years ago
xuesong 1663a16ead
fix(traits1): rename test functions to snake case (#854)
Co-authored-by: zhangshaozhi <zhangshaozhi@ZhangshaozhideMacBook-Pro.local>
3 years ago
Fredrik Enestad 46c28d5cef
fix(move_semantics5): correct typo (#857) 3 years ago
Zhenghao Lu bf33829da2
fix(structs3): remove redundant 'return' (#852) 3 years ago
diannasoriel c2ed98deb3
Merge pull request #781 from tlyu/advanced-errs
feature: advanced errors
3 years ago
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.
3 years ago
Taylor Yu 882d535ba8 feat: add advanced_errs1
New section and exercise to demonstrate the `From` trait for errors
and its usefulness with the `?` operator.
3 years ago
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>
3 years ago
Weilet 0a11bad714
feat(quiz1): add default function name in comment (#838) 3 years ago
granddaifuku 1c3beb0a59
fix(modules2): fix typo (#835) 3 years ago
anuk909 dfd2fab4f3
feat(modules): update exercises, add modules3 (#822)
Co-authored-by: diannasoriel <mokou@fastmail.com>
3 years ago
diannasoriel 96fc301764
chore(quiz1): revert wording 3 years ago
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
3 years ago
ana df25684cb7 fix(move_semantics5): Clarify instructions 3 years ago
fmoko 8e313cffaa
Merge pull request #732 from apogeeoak/iterators5
chore(iterators5): Minor formatting improvements.
3 years ago
fmoko 6948905716
Merge pull request #737 from ghost/correct-small-typo
Correct small typo in exercises/conversions/from_str.rs
3 years ago
Rakshit Sinha d876649616
fix(quiz1): Updated question description (#794)
Co-authored-by: Rakshit Sinha <rakshit.sinha@oracle.com>
3 years ago
lauralindzey 8774e47dc3
docs: Update collections README with HashMap link 3 years ago
Laura Lindzey e422ab1507 docs: Update exercise to chapter mapping for HashMap 3 years ago
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.
3 years ago
marisa a3ea37b76e
Merge pull request #771 from tlyu/iterators5-trait-tweak
fix(iterators5): derive Clone, Copy
3 years ago
marisa ec63cadadb
Merge pull request #772 from tlyu/errors-rework
feature: improve error_handling exercises
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
Taylor Yu 50ab289da6 fix: rename result1 to errors4
Also put it in the ERROR HANDLING section where it probably belongs.
3 years ago
Taylor Yu 91fc9e3118 fix(iterators5): derive Clone, Copy
To allow more flexibility in solutions, derive `Clone` and `Copy`
for `Progress`.
3 years ago
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.
3 years ago
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.
3 years ago
Juan Pablo Ramirez 4d4fa77459 fix: remove trailing whitespaces from iterators1 3 years ago
Juan Pablo Ramirez 3145794084 fix: add hints to generics1 and generics2 exercises 3 years ago
Juan Pablo Ramirez d9b69bd1a0 fix: remove trailing whitespace 4 years ago
Pi Delport 9569c9a9e7
style(standard_library_types): stray line break 4 years ago
Martin HART 86cc85295a fix: Correct small typo in exercises/conversions/from_str.rs 4 years ago
apogeeoak 9b8de65525
fix(intro1): Add compiler error explanation. 4 years ago
Maarten Tibau 650b1dee54
chore: Update quiz1.rs add explicit test for 40 4 years ago
apogeeoak 21c9f44168 feat(intro): Add intro section. 4 years ago
apogeeoak 7f0d2c2bf0 chore(iterators5): Minor formatting improvements. 4 years ago
Zerotask 4a384cae4a
docs(option): improve further information 4 years ago
Zerotask 249ad44cc0
docs(exercises): updated all exercises readme files
all exercises readme files now have a unified structure and a description
4 years ago
marisa 54804e344d
Merge pull request #721 from Zerotask/add-further-help-for-generics3
docs(generics): add bounds help
4 years ago
Zerotask f253103a31
docs(generics): add bounds help
add help for bounds provided by the rust by example book
4 years ago
Zerotask 1120db57a6
docs(errors): add additional help for Result/Boxing
add additional help information provided by the rust by example book
4 years ago
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>
4 years ago
marisa 79cc657917
Merge pull request #646 from apogeeoak/iterator
Added iterators5.rs exercise.
4 years ago
apogeeoak 9c88ea9126 Improved iterators5.rs explanation. 4 years ago
marisa 2b766ef9f9
Merge pull request #648 from apogeeoak/iterator2
Moved iterators2.rs errors out of tests.
4 years ago
marisa bd3d9ac9d5
Merge pull request #649 from apogeeoak/iterator3
Enabled iterators3.rs to run without commented out tests.
4 years ago
Shao Yang Hong 6bd791f2f4
fix(structs): Add 5.3 to structs/README (#652)
Co-authored-by: Shao Yang Hong <shaoyang.hong@ninjavan.co>
4 years ago
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.
4 years ago
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.
4 years ago
Abdou Seck f2ad3a6a0b
Merge pull request #697 from WowSuchRicky/main
Rename 'Lichi' to 'Lychee' in the fruit example
4 years ago
Abdou Seck caf921a01f
Merge pull request #674 from Morsicus/fix/collections-exercises-naming
Update collections exercises naming
4 years ago
WowSuchRicky b790bafc02 Rename lichi to lychee in the fruit example 4 years ago
Taylor Yu c3e7b83178 fix: use trait objects for from_str
Use `Box<dyn error::Error>` to allow solutions to use `?` to propagate 
errors.
4 years ago
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!()`.
4 years ago
Ignacio Le Fluk a6509cc4d5
fix(functions3): improve function argument type (#687) 4 years ago
Rod Elias 3df094713f
chore: capitalize `c` letter
By capitalizing the `c` letter it makes clear that we're talking about the C programming language.
4 years ago
Mickael Fortunato ab9995e76e doc: Update collections exercises instruction to match the standard naming 4 years ago
Mickael Fortunato bef39b1259 fix(collections): Naming exercises for vectors and hashmap 4 years ago
Pascal H 0d894e6ff7
fix(quiz3): Force an answer to Q2 (#672)
Add also an example of unimplemented!() macro.
4 years ago
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).
4 years ago
Darius Wiles 9f3e8c2dde
fix(structs3): reword heading comment (#664) 4 years ago
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
4 years ago
Jirka Kremser 5f7c89f85d
fix(from_str): Correct typos
typos in the comments
4 years ago
apogeeoak c6712dfccd fix(iterators3): Enabled iterators3.rs to run without commented out tests. 4 years ago
apogeeoak baf4ba175b fix(iterators2): Moved errors out of tests.
Closes #359
4 years ago
apogeeoak b29ea17ea9 feat: Added iterators5.rs exercise. 4 years ago
Tal cc266d7d80
fix(move_semantics4): Remove redundant "instead" (#640) 4 years ago
Jean-Francois Chevrette 15e71535f3 fix(from_str): test for error instead of unwrap/should_panic 4 years ago
Sang-Heon Jeon 4f1374a6e7 feat(from_into) : add test for checking unnecessary trailing value 4 years ago
Sang-Heon Jeon 5a0521e92c feat(from_str) : add test for checking unnecessary trailing value 4 years ago
Christian Zeller 7857b0a689
fix(threads1): line number correction 4 years ago
Marius Ungureanu 10965920fb
fix(move_semantics4): Small readbility improvement (#617)
* Small readbility improvement move_semantics4 doc

* Remove `an` as it refers to the argument
4 years ago
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

```
4 years ago
seancad bcf14cf677
fix: update structs README 4 years ago
JuliaCao 90cfb6ff28 fix: added missing exercises to info.toml 4 years ago
Peter N 30644c9a06
fix: gives a bit more context to magic number 4 years ago
JuliaCao 033bf1198f
feat: match exercise order to book chapters (#541)
Added exercise to book chapter mapping table to exercise README
4 years ago
fmoko cdc7d92e57
Merge pull request #592 from tinkhauser/vec1_bugfix
fix(vec1): Have test compare every element in a and v
4 years ago
Christos Kontas 04f1d079aa feat(try_from_into): remove duplicate annotation 4 years ago
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.
4 years ago
Wei Hu 4f4cfcf3c3 fix(try_from_into): type error 4 years ago
JP 96347df9df
fix(try_from_into): Update description (#584)
Description update
4 years ago
fiplox 95ccd92616
feat(try_from_into): Add tests (#571)
Co-authored-by: Volodymyr Patuta <6977238-fiplox@users.noreply.gitlab.com>
4 years ago
JP 197d3a3d89
fix(iterators2): Update description (#578)
grammar fix in the description
4 years ago
sazid 633c00cf80 feat: Add HashMap exercises 4 years ago
sazid 0c12fa31c5 feat: Add Vec exercises 4 years ago
Matthew Smillie 472d8592d6 fix(primitive_types6): remove 'unused doc comment' warning 4 years ago
Matthew Smillie 4fb230daf1 fix(primitive_types6): missing comma in test 4 years ago
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>
4 years ago
Ryan McQuen 18e0bfef1d
fix(quiz3): Second test is for odd numbers, not even. (#553) 4 years ago
fmoko 69fc9ce10e
Merge pull request #545 from YJDoc2/main 4 years ago
Yashodhan Joshi 2ec0bdfd99 fix(variables5) : make shadowing more prominent
closes #375
4 years ago
fmoko 2a682abeef
Merge pull request #522 from calvinbrown085/adding-test-for-false-case 4 years ago
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"
4 years ago