Auto merge of #10115 - rdrpenguin04:master, r=flip1995

Move `mutex_atomic` to `restriction`

By #4295, the general consensus seems to be that `mutex_atomic` is not a useful lint in most cases. If anything, it could be useful as a restriction on code that for whatever reason can't use atomics. Keeping it in `clippy::nursery` is harmful to people attempting to use clippy for soundness.

---

changelog: Moved [`mutex_atomic`] to `restriction`
[#10115](https://github.com/rust-lang/rust-clippy/pull/10115)
<!-- chnagelog_checked -->
This commit is contained in:
bors 2022-12-30 15:49:12 +00:00
commit 6ccd4ebd5b

View File

@ -1,6 +1,6 @@
//! Checks for uses of mutex where an atomic value could be used
//!
//! This lint is **warn** by default
//! This lint is **allow** by default
use clippy_utils::diagnostics::span_lint;
use clippy_utils::ty::is_type_diagnostic_item;
@ -20,6 +20,10 @@
/// `std::sync::atomic::AtomicBool` and `std::sync::atomic::AtomicPtr` are leaner and
/// faster.
///
/// On the other hand, `Mutex`es are, in general, easier to
/// verify correctness. An atomic does not behave the same as
/// an equivalent mutex. See [this issue](https://github.com/rust-lang/rust-clippy/issues/4295)'s commentary for more details.
///
/// ### Known problems
/// This lint cannot detect if the mutex is actually used
/// for waiting before a critical section.
@ -39,8 +43,8 @@
/// ```
#[clippy::version = "pre 1.29.0"]
pub MUTEX_ATOMIC,
nursery,
"using a mutex where an atomic value could be used instead"
restriction,
"using a mutex where an atomic value could be used instead."
}
declare_clippy_lint! {