blob: 611ff0d66a24eb7b74e6515664abed686a526e5a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// Tests that an `&` pointer to something inherently mutable is itself
// to be considered mutable.
#![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]
}
|