Recall & Review
beginner
What is a lifetime in Rust?
A lifetime in Rust is a way to tell the compiler how long a reference should be valid. It helps prevent dangling references and ensures memory safety.
Click to reveal answer
beginner
Why do structs sometimes need lifetime annotations?
Structs need lifetime annotations when they hold references. This tells Rust how long those references are valid, so the compiler can check safety.
Click to reveal answer
beginner
How do you declare a struct with a lifetime parameter?
You add a lifetime parameter with an apostrophe before the lifetime name, like
struct MyStruct<'a> { field: &'a str }. This means the field's reference lives at least as long as 'a.Click to reveal answer
intermediate
What happens if you omit lifetime annotations on references in structs?
Rust will give a compile error because it can't be sure how long the references live. You must specify lifetimes to avoid dangling references.
Click to reveal answer
intermediate
Explain the difference between
&'a T and T in a struct field.&'a T is a reference with a lifetime 'a, meaning it borrows data that lives at least as long as 'a. T owns the data directly, so no lifetime is needed.Click to reveal answer
Why do you add a lifetime parameter to a struct in Rust?
✗ Incorrect
Lifetime parameters tell Rust how long references inside the struct must be valid to ensure safety.
What does the syntax
&'a str mean in a struct field?✗ Incorrect
It means a reference to a string slice that lives at least as long as the lifetime 'a.
What error occurs if you forget to add lifetime annotations to references in structs?
✗ Incorrect
Rust requires explicit lifetime annotations on references in structs to ensure safety.
Which of these is a correct way to declare a struct with a lifetime?
✗ Incorrect
You must declare the lifetime parameter
'a on the struct and use it on the reference.What does the lifetime parameter
'a guarantee?✗ Incorrect
The lifetime 'a means the reference must be valid for at least the lifetime 'a.
Explain why lifetime annotations are necessary in structs that hold references.
Think about how Rust ensures memory safety with references inside structs.
You got /3 concepts.
Describe how to declare a struct with a lifetime parameter and a reference field.
Focus on the syntax for lifetime parameters and reference fields.
You got /3 concepts.