in src/sync/atomic/mod.rs [71:98]
fn maybe_warn_about_ordering(order: Ordering) {
use ansi_term::Colour;
#[allow(clippy::collapsible_if)]
if order != Ordering::SeqCst {
if PRINTED_ORDERING_WARNING
.compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed)
.is_ok()
{
if std::env::var("SHUTTLE_SILENCE_ORDERING_WARNING").is_ok() {
return;
}
if ExecutionState::with(|state| state.config.silence_atomic_ordering_warning) {
return;
}
eprintln!(
"{}: Shuttle only correctly models SeqCst atomics and treats all other Orderings \
as if they were SeqCst. Bugs caused by weaker orderings like {:?} may be missed. \
See https://docs.rs/shuttle/*/shuttle/sync/atomic/index.html#warning-about-relaxed-behaviors \
for details or to disable this warning.",
Colour::Yellow.normal().paint("WARNING"),
order
);
}
}
}