Lines Matching full:safety
27 /// # Safety
49 /// # Safety
61 /// # Safety
69 /// # Safety
76 /// # Safety
83 /// # Safety
88 // SAFETY: The safety requirements ensure that the lock is initialised.
94 /// # Safety
122 // SAFETY: `Lock` can be transferred across thread boundaries iff the data it protects can.
125 // SAFETY: `Lock` serialises the interior mutability it provides, so it is `Sync` as long as the
139 // SAFETY: `slot` is valid while the closure is called and both `name` and `key` have
153 /// # Safety
161 // SAFETY:
162 // - By the safety contract `ptr` must point to a valid initialised instance of `B::State`
175 // SAFETY: The constructor of the type calls `init`, so the existence of the object proves
178 // SAFETY: The lock was just acquired.
189 // SAFETY: The constructor of the type calls `init`, so the existence of the object proves
207 // SAFETY: `Guard` is sync when the data protected by the lock is also sync.
242 // SAFETY: The caller owns the lock, so it is safe to unlock it.
246 // SAFETY: The lock was just unlocked above and is being relocked now.
273 // SAFETY: `self.lock.data` is structurally pinned.
283 // SAFETY: The caller owns the lock, so it is safe to deref the protected data.
294 // SAFETY: The caller owns the lock, so it is safe to deref the protected data.
302 // SAFETY: The caller owns the lock, so it is safe to unlock it.
310 /// # Safety
315 // SAFETY: The caller can only hold the lock if `Backend::init` has already been called.