// run-pass struct S<'a>(&'a ()); impl<'a> S<'a> { fn foo(self) -> &'a () { ::bar(self) } fn bar(self) -> &'a () { self.0 } } fn main() { S(&()).foo(); }