diff options
Diffstat (limited to 'src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs')
| -rw-r--r-- | src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs b/src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs index 36c75465910..c9dfb8201a9 100644 --- a/src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs +++ b/src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs @@ -10,11 +10,20 @@ #![feature(optin_builtin_traits)] -struct TestType; +trait MyTrait {} -unsafe impl Send for TestType {} +struct TestType<T>; + +unsafe impl<T: MyTrait> Send for TestType<T> {} +//~^ ERROR conflicting implementations for trait `core::marker::Send` +//~^^ ERROR conflicting implementations for trait `core::marker::Send` + +impl<T: MyTrait> !Send for TestType<T> {} //~^ ERROR conflicting implementations for trait `core::marker::Send` -impl !Send for TestType {} +unsafe impl<T> Send for TestType<T> {} +//~^ ERROR error: conflicting implementations for trait `core::marker::Send` + +impl !Send for TestType<i32> {} fn main() {} |
