| fn flatten<'a, 'b, T>(x: &'a &'b T) -> &'a T { | |
| x | |
| } | |
| fn main() { | |
| let mut x = "original"; | |
| let y = &x; | |
| let z = &y; | |
| let w = flatten(z); | |
| x = "modified"; | |
| //~^ ERROR cannot assign to `x` because it is borrowed [E0506] | |
| println!("{}", w); // prints "modified" | |
| } |