#![feature(rustc_attrs)] #![feature(trait_alias)] #![feature(with_negative_coherence)] trait A {} trait B {} trait AB = A + B; impl A for u32 {} impl B for u32 {} #[rustc_strict_coherence] trait C {} impl C for T {} impl C for u32 {} //~^ ERROR conflicting implementations of trait `C` for type `u32` fn main() {}