trait T {
default type T = Bar;
default const f: u8 = 0;
default fn foo() {}
default unsafe fn bar() {}
}
impl T for Foo {
default type T = Bar;
default const f: u8 = 0;
default fn foo() {}
default unsafe fn bar() {}
}
default impl T for () {}
default unsafe impl T for () {}