Lines Matching full:invariant
166 // INVARIANT: The refcount is initialised to a non-zero value. in try_new()
211 // INVARIANT: By the safety requirements, the invariants hold. in from_inner()
265 // SAFETY: By the type invariant, there is necessarily a reference to the object, so it is in deref()
279 // INVARIANT: C `refcount_inc` saturates the refcount, so it cannot overflow to zero. in clone()
280 // SAFETY: By the type invariant, there is necessarily a reference to the object, so it is in clone()
291 // SAFETY: By the type invariant, there is necessarily a reference to the object. We cannot in drop()
297 // INVARIANT: If the refcount reaches zero, there are no other instances of `Arc`, and in drop()
298 // this instance is being dropped, so the broken invariant is not observable. in drop()
299 // SAFETY: Also by the type invariant, we are allowed to decrement the refcount. in drop()
410 // INVARIANT: The safety requirements guarantee the invariants. in new()
433 // SAFETY: By the type invariant, the underlying object is still alive with no mutable in deref()
521 // INVARIANT: The newly-created object has a ref-count of 1. in try_new()
528 // INVARIANT: The refcount is initialised to a non-zero value. in try_new_uninit()
535 // INVARIANT: The newly-created object has a ref-count of 1. in try_new_uninit()
608 // SAFETY: By the `Arc` type invariant, there is necessarily a reference to the object, so in deref_mut()