| error: Undefined Behavior: atomic operations cannot be performed on read-only memory |
| many platforms require atomic read-modify-write instructions to be performed on writeable memory, even if the operation fails (and is hence nominally read-only) |
| some platforms implement (some) atomic loads via compare-exchange, which means they do not work on read-only memory; it is possible that we could have an exception permitting this for specific kinds of loads |
| please report an issue at <https://github.com/rust-lang/miri/issues> if this is a problem for you |
| --> $DIR/read_only_atomic_load.rs:LL:CC |
| | |
| LL | x.load(Ordering::Relaxed); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ atomic operations cannot be performed on read-only memory |
| many platforms require atomic read-modify-write instructions to be performed on writeable memory, even if the operation fails (and is hence nominally read-only) |
| some platforms implement (some) atomic loads via compare-exchange, which means they do not work on read-only memory; it is possible that we could have an exception permitting this for specific kinds of loads |
| please report an issue at <https://github.com/rust-lang/miri/issues> if this is a problem for you |
| | |
| = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior |
| = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information |
| = note: BACKTRACE: |
| = note: inside `main` at $DIR/read_only_atomic_load.rs:LL:CC |
| |
| note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace |
| |
| error: aborting due to previous error |
| |