|
trait Trait {
|
|
type Gat<'a: 'b, 'b: 'c, 'c>: 'c;
|
|
}
|
|
|
|
fn get_func<'a, T: Trait>(_: &'a str) -> fn(T::Gat<'a, '_, 'static>) {
|
|
loop {}
|
|
}
|
|
|
|
fn test<T: Trait>() {
|
|
let func = get_func::<T>(&String::new()); //~ ERROR temporary value dropped
|
|
drop(func);
|
|
}
|
|
|
|
fn main() {}
|