summary refs log tree commit diff
path: root/src/test/ui/no_share-enum.rs
blob: f5edb63cf86e9d3c8950575e55d4de3c54be3941 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![feature(optin_builtin_traits)]

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]
}