Releases: rust-lang/rustlings
Rustlings 5.1.0
This release cleans up a bunch of the bugs left in 5.0, and adds two new smart pointer exercises. For detailed information, check the changelog.
To upgrade:
git fetch
git checkout tags/5.1.0
Rustlings 5.0.0
Probably Rustlings' biggest release yet! 🎉
For detailed information, check the changelog. I'll post the features section here:
- Hint comments in exercises now also include a reference to the
hint
watch mode subcommand. - intro1: Added more hints to point the user to the source file.
- variables: Switched variables3 and variables4.
- Moved
vec
andprimitive_types
exercises beforemove_semantics
. - Renamed
vec
tovecs
to be more in line with the naming in general. - Split up the
collections
exercises in their own folders. - vec2: Added a second part of the function that provides an alternative,
immutable way of modifying vec values. - enums3: Added a hint.
- Moved
strings
beforemodules
. - Added a
strings3
exercise to teach modifying strings. - Added a
hashmaps3
exercise for some advanced usage of hashmaps. - Moved the original
quiz2
to bestrings4
, since it only tested strings
anyways. - Reworked
quiz2
into a new exercise that tests more chapters. - Renamed
option
tooptions
. - options1: Rewrote parts of the exercise to remove the weird array
iteration stuff. - Moved
generics3
to bequiz3
. - Moved box/arc exercises behind
iterators
. - iterators4: Added a test for factorials of zero.
- Split
threads1
between two exercises, the first one focusing more on
JoinHandle
s. - Added a
threads3
exercises that usesstd::sync::mpsc
. - Added a
clippy3
exercises with some more interesting checks. - as_ref_mut: Added a section that actually tests
AsMut
. - Added 3 new lifetimes exercises.
- Added 3 new traits exercises.
Summary
This release adds 12 new exercises, makes tons of little (and sometimes significant) improvements to existing exercises, rearranges a good chunk of the exercises to make more sense in our curriculum (while still trying to stay faithful to the book), and it gets rid of some exercises that have not been a good fit for this project.
There's still a fair amount of things that I want to change, such as having better exercises for smart pointers, but that's for a future release. Feel free to post your feedback after you've completed this new version of the course!
Special thanks for the Rust Foundation for sponsoring the majority of my work on this release!
To upgrade:
git fetch
git checkout tags/5.0.0
Rustlings 4.8.0
Adds a progress indicator, a new rustlings lsp
command, and more! For detailed information, check the changelog.
To upgrade:
git fetch
git checkout tags/4.8.0
Rustlings 4.7.1
Mainly reduces the crate size by a bit, thus also reducing compilation time. See the changelog to see what's changed.
To upgrade, run:
git fetch
git checkout tags/4.7.1
Rustlings 4.7.0
See the changelog for what's changed. Some highlights:
- A new intro section prefixing the normal exercises has been added.
- New exercise,
move_semantics4
. rust-analyzer
support has been added via an optional crate feature. More info in the README- Tons and tons of bug fixes.
To upgrade, run:
git fetch
git checkout tags/4.7.0
Rustlings 4.6.0
See the changelog for what's changed. Some highlights:
- New exercises:
advanced_errs1
andadvanced_errs2
modules3
try_from_into
andfrom_str
have been reworked to include custom error types.- Watch mode now has a
quit
andhelp
command. - Watch mode now also shows you a nice farewell message when you exit it.
To upgrade, run:
git fetch
git checkout tags/4.6.0
Rustlings 4.5.0
Rustlings 4.4.0
See the changelog for what's changed. Some highlights:
- A lot of small and large improvements to how exercises work
rustlings list
now displays structured data, and a takes a lot more options to filter that data:
- It also now shows you progress per-exercise, and a total summary of your completion:
- The compliation times for Rustlings should be significantly sped up, we replaced the crate we use for CLI option parsing with something more lightweight
- Rustlings now respects the
NO_EMOJI
envionment variable - A new exercise,
iterators5
, has been added
To upgrade, run:
git fetch
git checkout tags/4.4.0
Rustlings 4.3.0
See the changelog for what's changed. Some highlights:
- The text you see when running
rustlings
(without any arguments) should now be more helpful - The exercise order has been adjusted to more closely match the order of chapter in the Rust book
- A
rustlings list
command has been added
To upgrade:
git fetch
git checkout tags/4.3.0