// Test lifetimes are linked properly when we take reference // to interior. fn id(x: T) -> T { x } struct Foo(isize); fn foo<'a>() -> &'a isize { let &Foo(ref x) = &id(Foo(3)); x //~ ERROR cannot return value referencing temporary value } pub fn main() { }