1 // Test that we are able to introduce a negative constraint that
2 // `MyType: !MyTrait` along with other "fundamental" wrappers.
4 // aux-build:coherence_copy_like_lib.rs
5 // build-pass (FIXME(62277): could be check-pass?)
9 extern crate coherence_copy_like_lib as lib;
11 struct MyType { x: i32 }
13 trait MyTrait { fn foo() {} }
14 impl<T: lib::MyCopy> MyTrait for T { }
16 // `MyFundamentalStruct` is declared fundamental, so we can test that
18 // MyFundamentalStruct<MyTrait>: !MyTrait
21 impl MyTrait for lib::MyFundamentalStruct<MyType> { }