Lines Matching full:safety
73 // SAFETY: `Revocable` is `Send` if the wrapped object is also `Send`. This is because while the
78 // SAFETY: `Revocable` is `Sync` if the wrapped object is both `Send` and `Sync`. We require `Send`
120 // SAFETY: Since `self.is_available` is true, data is initialised and has to remain in try_access_with_guard()
133 /// adds an extra safety to make sure it doesn't happen.
146 /// # Safety
151 // SAFETY: By the safety requirement of this function it is guaranteed that in access()
156 /// # Safety
164 // SAFETY: Just an FFI call, there are no further requirements. in revoke_internal()
168 // SAFETY: We know `self.data` is valid because only one CPU can succeed the in revoke_internal()
184 /// # Safety
188 // SAFETY: By the safety requirement of this function, the caller ensures that nobody is in revoke_nosync()
205 // SAFETY: By passing `true` we ask `revoke_internal` to wait for the grace period to in revoke()
216 // SAFETY: We are not moving out of `p`, only dropping in place in drop()
219 // SAFETY: We know `self.data` is valid because no other CPU has changed in drop()
259 // SAFETY: By the type invariants, we hold the rcu read-side lock, so the object is in deref()