Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
// Lifetimes are annotated below with lines denoting the creation
// and destruction of each variable.
//
i
has the longest lifetime because its scope entirely encloses// both
borrow1
andborrow2
. The duration ofborrow1
compared// to
borrow2
is irrelevant since they are disjoint.fn main() {
let i = 3; // Lifetime for
i
starts. ────────────────┐// │
{ // │
let borrow1 = &i; //
borrow1
lifetime starts. ──┐│// ││
println!("borrow1: {}", borrow1); // ││
} //
borrow1 ends. ──────────────────────────────────┘│ // │ // │ { // │ let borrow2 = &i; //
borrow2lifetime starts. ──┐│ // ││ println!("borrow2: {}", borrow2); // ││ } //
borrow2` ends. ─────────────────────────────────┘│// │
} // Lifetime ends. ─────────────────────────────────────┘