Rustlings Versions Save

:crab: Small exercises to get you used to reading and writing Rust code!

5.1.0

1 year ago

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

5.0.0

1 year ago

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 and primitive_types exercises before move_semantics.
  • Renamed vec to vecs 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 before modules.
  • Added a strings3 exercise to teach modifying strings.
  • Added a hashmaps3 exercise for some advanced usage of hashmaps.
  • Moved the original quiz2 to be strings4, since it only tested strings anyways.
  • Reworked quiz2 into a new exercise that tests more chapters.
  • Renamed option to options.
  • options1: Rewrote parts of the exercise to remove the weird array iteration stuff.
  • Moved generics3 to be quiz3.
  • 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 JoinHandles.
  • Added a threads3 exercises that uses std::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

4.8.0

1 year ago

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

4.7.1

2 years ago

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

4.7.0

2 years ago

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

4.6.0

2 years ago

See the changelog for what's changed. Some highlights:

  • New exercises:
    • advanced_errs1 and advanced_errs2
    • modules3
  • try_from_into and from_str have been reworked to include custom error types.
  • Watch mode now has a quit and help 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

4.5.0

2 years ago

See the changelog for what's changed.

To upgrade, run:

git fetch
git checkout tags/4.5.0

4.4.0

3 years ago

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:
image
  • It also now shows you progress per-exercise, and a total summary of your completion:
image
  • 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

4.3.0

3 years ago

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

4.2.0

3 years ago

See the changelog for what's changed.

To upgrade:

git fetch
git checkout tags/4.2.0