rust/tests/ui/late-bound-lifetimes/downgraded_to_early_through_alias.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

25 lines
468 B
Rust
Raw Normal View History

2022-11-06 13:39:13 +00:00
// check-pass
trait Gats<'a> {
type Assoc;
type Assoc2;
}
trait Trait: for<'a> Gats<'a> {
fn foo<'a>(_: &mut <Self as Gats<'a>>::Assoc) -> <Self as Gats<'a>>::Assoc2;
}
impl<'a> Gats<'a> for () {
type Assoc = &'a u32;
type Assoc2 = ();
}
type GatsAssoc<'a, T> = <T as Gats<'a>>::Assoc;
type GatsAssoc2<'a, T> = <T as Gats<'a>>::Assoc2;
impl Trait for () {
fn foo<'a>(_: &mut GatsAssoc<'a, Self>) -> GatsAssoc2<'a, Self> {}
}
fn main() {}