2 use std::sync::atomic::{compiler_fence, fence, Ordering};
5 // Allowed ordering modes
6 fence(Ordering::Acquire);
7 fence(Ordering::Release);
8 fence(Ordering::AcqRel);
9 fence(Ordering::SeqCst);
11 compiler_fence(Ordering::Acquire);
12 compiler_fence(Ordering::Release);
13 compiler_fence(Ordering::AcqRel);
14 compiler_fence(Ordering::SeqCst);
16 // Disallowed ordering modes
17 fence(Ordering::Relaxed);
18 //~^ ERROR memory fences cannot have `Relaxed` ordering
19 compiler_fence(Ordering::Relaxed);
20 //~^ ERROR memory fences cannot have `Relaxed` ordering