summaryrefslogtreecommitdiffstats
path: root/tests/ui/std-uncopyable-atomics.rs
blob: d85864ecac2853f6a88708177c8769d208257325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Issue #8380


use std::sync::atomic::*;
use std::ptr;

fn main() {
    let x = AtomicBool::new(false);
    let x = *&x; //~ ERROR: cannot move out of a shared reference
    let x = AtomicIsize::new(0);
    let x = *&x; //~ ERROR: cannot move out of a shared reference
    let x = AtomicUsize::new(0);
    let x = *&x; //~ ERROR: cannot move out of a shared reference
    let x: AtomicPtr<usize> = AtomicPtr::new(ptr::null_mut());
    let x = *&x; //~ ERROR: cannot move out of a shared reference
}