1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// check-pass #![feature(negative_impls)] #![feature(rustc_attrs)] #![feature(trait_alias)] #![feature(with_negative_coherence)] trait A {} trait B {} impl !A for u32 {} #[rustc_strict_coherence] trait C {} impl<T: A + B> C for T {} impl C for u32 {} fn main() {}