1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// 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<Item<'_> = u32>) { }
//~^ ERROR `'_` cannot be used here [E0637]
// Ok: the anonymous lifetime is bound to the function.
fn bar(x: &impl for<'a> Foo<Item<'a> = &'_ u32>) { }
// Ok: the anonymous lifetime is bound to the function.
fn baz(x: &impl for<'a> Foo<Item<'a> = &u32>) { }
fn main() {}
|