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); }