]> git.lizzy.rs Git - rust.git/blob - src/test/ui/lint/lint-invalid-atomic-ordering-fence.rs
Auto merge of #106349 - LeSeulArtichaut:dyn-star-tracking-issue, r=jackh726
[rust.git] / src / test / ui / lint / lint-invalid-atomic-ordering-fence.rs
1 // only-x86_64
2 use std::sync::atomic::{compiler_fence, fence, Ordering};
3
4 fn main() {
5     // Allowed ordering modes
6     fence(Ordering::Acquire);
7     fence(Ordering::Release);
8     fence(Ordering::AcqRel);
9     fence(Ordering::SeqCst);
10
11     compiler_fence(Ordering::Acquire);
12     compiler_fence(Ordering::Release);
13     compiler_fence(Ordering::AcqRel);
14     compiler_fence(Ordering::SeqCst);
15
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
21 }