//@ check-pass | |
// Before RFC 2532, overriding one assoc. type default required overriding all | |
// provided defaults. | |
#![feature(associated_type_defaults)] | |
pub trait Tr { | |
type Assoc = u8; | |
type Assoc2 = Self::Assoc; | |
const C: u8 = 11; | |
fn foo(&self) {} | |
} | |
impl Tr for () { | |
type Assoc = (); | |
} | |
fn main() { | |
let _: <() as Tr>::Assoc = (); | |
let _: <() as Tr>::Assoc2 = (); | |
} |