mirror of https://github.com/rust-lang/rust
38 lines
722 B
Rust
38 lines
722 B
Rust
#![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() {}
|