rust/tests/ui/lint/lint-invalid-atomic-ordering-fence.rs
2024-02-16 20:02:50 +00:00

22 lines
615 B
Rust

//@ only-x86_64
use std::sync::atomic::{compiler_fence, fence, Ordering};
fn main() {
// Allowed ordering modes
fence(Ordering::Acquire);
fence(Ordering::Release);
fence(Ordering::AcqRel);
fence(Ordering::SeqCst);
compiler_fence(Ordering::Acquire);
compiler_fence(Ordering::Release);
compiler_fence(Ordering::AcqRel);
compiler_fence(Ordering::SeqCst);
// Disallowed ordering modes
fence(Ordering::Relaxed);
//~^ ERROR memory fences cannot have `Relaxed` ordering
compiler_fence(Ordering::Relaxed);
//~^ ERROR memory fences cannot have `Relaxed` ordering
}