summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-types/associated-types-overridden-default.rs
blob: 3e12c9228961809b36bde228dbfc54f11c902623 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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 = ();
}