// Don't ICE when trying to annotate signature and we see `&()` | |
fn f<'a, T>(_: &'static &'a (), x: &'a T) -> &'static T { | |
x | |
} | |
trait W<'a> { | |
fn g<T>(self, x: &'a T) -> &'static T; | |
} | |
// Frankly this error message is impossible to parse, but :shrug:. | |
impl<'a> W<'a> for &'static () { | |
fn g<T>(self, x: &'a T) -> &'static T { | |
f(&self, x) | |
//~^ ERROR borrowed data escapes outside of method | |
//~| ERROR `self` does not live long enough | |
} | |
} | |
fn main() {} |