You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rustlings/exercises/16_lifetimes
Adam Brewer 64d95837e9 Update Exercises Directory Names to Reflect Order 7 months ago
..
README.md Update Exercises Directory Names to Reflect Order 7 months ago
lifetimes1.rs Update Exercises Directory Names to Reflect Order 7 months ago
lifetimes2.rs Update Exercises Directory Names to Reflect Order 7 months ago
lifetimes3.rs Update Exercises Directory Names to Reflect Order 7 months ago

README.md

Lifetimes

Lifetimes tell the compiler how to check whether references live long 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 value is valid".

They are only necessary on borrows, i.e. references, since copied parameters or moves are owned in their scope and cannot be referenced outside. Lifetimes mean that calling code of e.g. functions can be checked to make sure their arguments are valid. Lifetimes are restrictive of their callers.

If you'd like to learn more about lifetime annotations, the lifetimekata project has a similar style of exercises to Rustlings, but is all about learning to write lifetime annotations.

Further information