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