// Regression test for #129021. | |
trait ToArg<T> { | |
type Arg; | |
} | |
impl<T, U> ToArg<T> for U { | |
type Arg = T; | |
} | |
fn extend_inner<'a, 'b>(x: &'a str) -> <&'b &'a () as ToArg<&'b str>>::Arg { x } | |
fn extend<'a, 'b>(x: &'a str) -> &'b str { | |
(extend_inner as fn(_) -> _)(x) | |
//~^ ERROR lifetime may not live long enough | |
} | |
fn main() { | |
let y = extend(&String::from("Hello World")); | |
println!("{}", y); | |
} |