| //@ check-pass | |
| #![feature(negative_impls)] | |
| #![feature(rustc_attrs)] | |
| #![feature(with_negative_coherence)] | |
| trait Trait1: Trait2 {} | |
| trait Trait2 {} | |
| struct MyType {} | |
| impl !Trait2 for MyType {} | |
| #[rustc_strict_coherence] | |
| trait Foo {} | |
| impl<T: Trait1> Foo for T {} | |
| impl Foo for MyType {} | |
| fn main() {} |