```rust
fn main() {
- let y = &5; // -+ y goes into scope
+ let y = &5; // -+ y goes into scope
// |
// stuff // |
// |
}
fn main() {
- let y = &5; // -+ y goes into scope
+ let y = &5; // -+ y goes into scope
let f = Foo { x: y }; // -+ f goes into scope
// stuff // |
// |
let x; // -+ x goes into scope
// |
{ // |
- let y = &5; // ---+ y goes into scope
+ let y = &5; // ---+ y goes into scope
let f = Foo { x: y }; // ---+ f goes into scope
x = &f.x; // | | error here
} // ---+ f and y go out of scope