rust/tests/ui/mut/mutable-enum-indirect.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

20 lines
372 B
Rust
Raw Normal View History

// Tests that an `&` pointer to something inherently mutable is itself
// to be considered mutable.
#![feature(negative_impls)]
2015-01-11 12:14:39 +00:00
use std::marker::Sync;
struct NoSync;
impl !Sync for NoSync {}
enum Foo { A(NoSync) }
fn bar<T: Sync>(_: T) {}
fn main() {
2015-01-11 12:14:39 +00:00
let x = Foo::A(NoSync);
bar(&x);
//~^ ERROR `NoSync` cannot be shared between threads safely [E0277]
}