| #![allow(unused)] |
| |
| pub trait Trait { |
| type Assoc<'a> where Self: 'a; |
| |
| fn f(&self) -> Self::Assoc<'_>; |
| |
| // Disallow elision in return position, for now |
| fn g(&self) -> Self::Assoc; |
| //~^ ERROR missing generics for associated type `Trait::Assoc` |
| } |
| |
| pub struct Struct { |
| item: f32 |
| } |
| |
| pub struct GenericStruct<'a> { |
| ref_item: &'a f32 |
| } |
| |
| impl Trait for Struct { |
| type Assoc<'a> = GenericStruct<'a>; |
| |
| fn f(&self) -> Self::Assoc<'_> { |
| Self::Assoc { |
| ref_item: &self.item |
| } |
| } |
| |
| // Disallow elision in return position, for now |
| fn g(&self) -> Self::Assoc { |
| //~^ ERROR missing generics for associated type `Trait::Assoc` |
| todo!() |
| } |
| } |
| |
| fn main() {} |