default impl A { } unsafe impl !A { } impl A for B { } impl A for B { default const a: bool = true; type E = T; fn f(&self) { } a!(true); }