1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// check-pass #![feature(negative_impls)] #![feature(rustc_attrs)] #![feature(with_negative_coherence)] trait Foo {} impl !Foo for u32 {} #[rustc_strict_coherence] struct MyStruct<T>(T); impl MyStruct<u32> { fn method(&self) {} } impl<T> MyStruct<T> where T: Foo, { fn method(&self) {} } fn main() {}