]> git.lizzy.rs Git - rust.git/blob - src/test/ui/generic-associated-types/issue-87258_a.rs
Move some tests with compare-mode=nll output to revisions
[rust.git] / src / test / ui / generic-associated-types / issue-87258_a.rs
1 #![feature(type_alias_impl_trait)]
2 #![feature(generic_associated_types)]
3
4 // See https://github.com/rust-lang/rust/issues/87258#issuecomment-883293367
5
6 trait Trait1 {}
7
8 struct Struct<'b>(&'b ());
9
10 impl<'d> Trait1 for Struct<'d> {}
11
12 pub trait Trait2 {
13     type FooFuture<'a>: Trait1;
14     fn foo<'a>() -> Self::FooFuture<'a>;
15 }
16
17 impl<'c, S: Trait2> Trait2 for &'c mut S {
18     type FooFuture<'a> = impl Trait1;
19     //~^ ERROR unconstrained opaque type
20     fn foo<'a>() -> Self::FooFuture<'a> {
21         Struct(unimplemented!())
22     }
23 }
24
25 fn main() {}