1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#![feature(inherent_associated_types)]
#![feature(associated_type_defaults)]
#![allow(incomplete_features)]

pub struct Bar;

impl Bar {
    pub fn foo() {}
    pub const X: u8 = 12;
    pub type Y = u8;
}

pub trait Foo {
    fn yeay();
    fn boo() {}
    const W: u32;
    const U: u32 = 0;
    type Z;
    type T = u32;
}

impl Foo for Bar {
    fn yeay() {}
    const W: u32 = 12;
    type Z = u8;
}