summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/syntax-trait-polarity.rs
blob: ed2947493b02c528d86bd43734b5433169211987 (plain)
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
#![feature(negative_impls)]

use std::marker::Send;

struct TestType;

impl !TestType {}
//~^ ERROR inherent impls cannot be negative

trait TestTrait {}

unsafe impl !Send for TestType {}
//~^ ERROR negative impls cannot be unsafe
impl !TestTrait for TestType {}

struct TestType2<T>(T);

impl<T> !TestType2<T> {}
//~^ ERROR inherent impls cannot be negative

unsafe impl<T> !Send for TestType2<T> {}
//~^ ERROR negative impls cannot be unsafe
impl<T> !TestTrait for TestType2<T> {}

fn main() {}