summaryrefslogtreecommitdiffstats
path: root/tests/ui/no_share-enum.rs
blob: 44bf1913e7aac4a696f592972ae2c0cfd3fbd7d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![feature(negative_impls)]

use std::marker::Sync;

struct NoSync;
impl !Sync for NoSync {}

enum Foo { A(NoSync) }

fn bar<T: Sync>(_: T) {}

fn main() {
    let x = Foo::A(NoSync);
    bar(x);
    //~^ ERROR `NoSync` cannot be shared between threads safely [E0277]
}