// It's not yet clear how '_ and GATs should interact. // Forbid it for now but proper support might be added // at some point in the future. #![feature(anonymous_lifetime_in_impl_trait)] trait Foo { type Item<'a>; } fn foo(x: &impl Foo = u32>) { } //~^ ERROR `'_` cannot be used here [E0637] // Ok: the anonymous lifetime is bound to the function. fn bar(x: &impl for<'a> Foo = &'_ u32>) { } // Ok: the anonymous lifetime is bound to the function. fn baz(x: &impl for<'a> Foo = &u32>) { } fn main() {}