Lines Matching full:safety
71 // SAFETY: `Revocable` is `Send` if the wrapped object is also `Send`. This is because while the
76 // SAFETY: `Revocable` is `Sync` if the wrapped object is both `Send` and `Sync`. We require `Send`
118 // SAFETY: Since `self.is_available` is true, data is initialised and has to remain in try_access_with_guard()
126 /// # Safety
132 // SAFETY: Just an FFI call, there are no further requirements. in revoke_internal()
136 // SAFETY: We know `self.data` is valid because only one CPU can succeed the in revoke_internal()
147 /// # Safety
151 // SAFETY: By the safety requirement of this function, the caller ensures that nobody is in revoke_nosync()
165 // SAFETY: By passing `true` we ask `revoke_internal` to wait for the grace period to in revoke()
176 // SAFETY: We are not moving out of `p`, only dropping in place in drop()
179 // SAFETY: We know `self.data` is valid because no other CPU has changed in drop()
215 // SAFETY: By the type invariants, we hold the rcu read-side lock, so the object is in deref()