diff options
Diffstat (limited to 'tests/ui/generic-associated-types/issue-95305.rs')
-rw-r--r-- | tests/ui/generic-associated-types/issue-95305.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/generic-associated-types/issue-95305.rs b/tests/ui/generic-associated-types/issue-95305.rs new file mode 100644 index 000000000..6c3ec20e7 --- /dev/null +++ b/tests/ui/generic-associated-types/issue-95305.rs @@ -0,0 +1,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() {} |