fix(exercises): remove trailing spaces

This commit is contained in:
Alexandre ESSE 2023-03-31 11:20:11 +02:00
parent 362c1b0d11
commit 22bb662d3e
5 changed files with 10 additions and 10 deletions

View file

@ -1,6 +1,6 @@
# Hashmaps # Hashmaps
A *hash map* allows you to associate a value with a particular key. A *hash map* allows you to associate a value with a particular key.
You may also know this by the names [*unordered map* in C++](https://en.cppreference.com/w/cpp/container/unordered_map), You may also know this by the names [*unordered map* in C++](https://en.cppreference.com/w/cpp/container/unordered_map),
[*dictionary* in Python](https://docs.python.org/3/tutorial/datastructures.html#dictionaries) or an *associative array* in other languages. [*dictionary* in Python](https://docs.python.org/3/tutorial/datastructures.html#dictionaries) or an *associative array* in other languages.
This is the other data structure that we've been talking about before, when This is the other data structure that we've been talking about before, when

View file

@ -3,17 +3,17 @@
Lifetimes tell the compiler how to check whether references live long Lifetimes tell the compiler how to check whether references live long
enough to be valid in any given situation. For example lifetimes say enough to be valid in any given situation. For example lifetimes say
"make sure parameter 'a' lives as long as parameter 'b' so that the return "make sure parameter 'a' lives as long as parameter 'b' so that the return
value is valid". value is valid".
They are only necessary on borrows, i.e. references, They are only necessary on borrows, i.e. references,
since copied parameters or moves are owned in their scope and cannot since copied parameters or moves are owned in their scope and cannot
be referenced outside. Lifetimes mean that calling code of e.g. functions be referenced outside. Lifetimes mean that calling code of e.g. functions
can be checked to make sure their arguments are valid. Lifetimes are can be checked to make sure their arguments are valid. Lifetimes are
restrictive of their callers. restrictive of their callers.
If you'd like to learn more about lifetime annotations, the If you'd like to learn more about lifetime annotations, the
[lifetimekata](https://tfpk.github.io/lifetimekata/) project [lifetimekata](https://tfpk.github.io/lifetimekata/) project
has a similar style of exercises to Rustlings, but is all about has a similar style of exercises to Rustlings, but is all about
learning to write lifetime annotations. learning to write lifetime annotations.
## Further information ## Further information

View file

@ -4,7 +4,7 @@ Rust's macro system is very powerful, but also kind of difficult to wrap your
head around. We're not going to teach you how to write your own fully-featured head around. We're not going to teach you how to write your own fully-featured
macros. Instead, we'll show you how to use and create them. macros. Instead, we'll show you how to use and create them.
If you'd like to learn more about writing your own macros, the If you'd like to learn more about writing your own macros, the
[macrokata](https://github.com/tfpk/macrokata) project has a similar style [macrokata](https://github.com/tfpk/macrokata) project has a similar style
of exercises to Rustlings, but is all about learning to write Macros. of exercises to Rustlings, but is all about learning to write Macros.

View file

@ -1,6 +1,6 @@
# Options # Options
Type Option represents an optional value: every Option is either Some and contains a value, or None, and does not. Type Option represents an optional value: every Option is either Some and contains a value, or None, and does not.
Option types are very common in Rust code, as they have a number of uses: Option types are very common in Rust code, as they have a number of uses:
- Initial values - Initial values
- Return values for functions that are not defined over their entire input range (partial functions) - Return values for functions that are not defined over their entire input range (partial functions)

View file

@ -30,7 +30,7 @@ fn main() {
if results.len() != 10 { if results.len() != 10 {
panic!("Oh no! All the spawned threads did not finish!"); panic!("Oh no! All the spawned threads did not finish!");
} }
println!(); println!();
for (i, result) in results.into_iter().enumerate() { for (i, result) in results.into_iter().enumerate() {
println!("thread {} took {}ms", i, result); println!("thread {} took {}ms", i, result);