mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
rust: sync: add #[must_use] to GlobalGuard and GlobalLock::try_lock
Guard is marked #[must_use] since dropping it releases the lock. GlobalGuard wraps Guard with identical semantics but was missing the annotation, so discarding it would silently compile without warning. Similarly, GlobalLock::try_lock was missing #[must_use]. Option<T> does not propagate #[must_use] from T, so the attribute needs to be on the function directly - same reason Lock::try_lock has it. Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Ashutosh Desai <ashutoshdesai993@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Link: https://patch.msgid.link/20260502160057.3402896-1-ashutoshdesai993@gmail.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
7594302d9d
commit
03e8578813
|
|
@ -85,6 +85,7 @@ pub fn lock(&'static self) -> GlobalGuard<B> {
|
|||
}
|
||||
|
||||
/// Try to lock this global lock.
|
||||
#[must_use = "if unused, the lock will be immediately unlocked"]
|
||||
#[inline]
|
||||
pub fn try_lock(&'static self) -> Option<GlobalGuard<B>> {
|
||||
Some(GlobalGuard {
|
||||
|
|
@ -96,6 +97,7 @@ pub fn try_lock(&'static self) -> Option<GlobalGuard<B>> {
|
|||
/// A guard for a [`GlobalLock`].
|
||||
///
|
||||
/// See [`global_lock!`] for examples.
|
||||
#[must_use = "the lock unlocks immediately when the guard is unused"]
|
||||
pub struct GlobalGuard<B: GlobalLockBackend> {
|
||||
inner: Guard<'static, B::Item, B::Backend>,
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user