AccessConvert wrapper is needed less often in practice (#77).bug: Insufficient synchronization on weak platforms (#76).
Never observed in practice (it's suspected practical weak platforms like ARM are still stronger than the model), but still technically UB.
docs: Mention triomphe's ThinArc around the fat-pointer limitations.
const_empty method).AsRaw trait (isn't implemented for owned Arc/Option<Arc>).load_signal_safe. It only complicates things and it is niche; signal-hook-registry has its own simplified version.from_ptr(as_ptr()). Slight change in RefCnt::inc which technically is API breaking change, but this one should not matter in practice.From<T: RefCnt>, Default).rcu_unwap, the whole concept is a trap.Strategy, as a high level way to choose how exactly the locking happens.unstable-weak to weak feature. The support is now available on 1.45 (currently in beta).Weak::as_ptr from std (the weak pointer support, relying on unstable features).Guard::from_inner.Display implementation on Guard to correctly delegate to the underlying Display implementation.FnMut as well as Fn.load.Guard now.Arc/Option<Arc> or similar.Cache got moved to top level of the crate.Lease<Option<_>>::unwrap(), expect() and into_option() for convenient use.#[deprecated] syntax.PrivateSharded) to complement the global and private unsharded ones.lease method internally, making it faster in optimistic cases.compare_and_swap no longer takes &Guard as current as that is a sure way to create a deadlock.Lease for temporary storage, which doesn‘t suffer from contention like load, but doesn’t block writes like Guard. The downside is it slows down with number of held by the current thread.compare_and_swap and rcu uses leases.ArcSwap as small as the pointer itself, by making the shards/counters and generation ID global. This comes at a theoretical cost of more contention when different threads use different instances.ArcSwapOption, which allows storing NULL values (as None) as well as a valid pointer.compare_and_swap accepts borrowed Arc as current and doesn't consume one ref count.peek_signal_safe as the only async signal safe method to use inside signal handlers. This removes the footgun with dropping the Arc returned from load inside a signal handler.peek method to use the Arc inside without incrementing the reference count.rcu and rcu_unwrap return types.rcu support.compare_and_swap support.