1 //! Additional documentation. 2 //! 3 //! Here we have some more general topics that might be good to know that just don't fit to the 4 //! crate level intro. 5 //! 6 //! Also, there were some previous blog posts about the crate which you might find interesting. 7 //! 8 //! # Atomic orderings 9 //! 10 //! Each operation on the [`ArcSwapAny`] with [`DefaultStrategy`] type callable concurrently (eg. 11 //! [`load`], but not [`into_inner`]) contains at least one [`SeqCst`] atomic read-write operation, 12 //! therefore even operations on different instances have a defined global order of operations. 13 //! 14 //! # Features 15 //! 16 //! The `weak` feature adds the ability to use arc-swap with the [`Weak`] pointer too, 17 //! through the [`ArcSwapWeak`] type. The needed std support is stabilized in rust version 1.45 (as 18 //! of now in beta). 19 //! 20 //! The `experimental-strategies` enables few more strategies that can be used. Note that these 21 //! **are not** part of the API stability guarantees and they may be changed, renamed or removed at 22 //! any time. 23 //! 24 //! # Minimal compiler version 25 //! 26 //! The `1` versions will compile on all compilers supporting the 2018 edition. Note that this 27 //! applies only if no additional feature flags are enabled and does not apply to compiling or 28 //! running tests. 29 //! 30 //! [`ArcSwapAny`]: crate::ArcSwapAny 31 //! [`ArcSwapWeak`]: crate::ArcSwapWeak 32 //! [`load`]: crate::ArcSwapAny::load 33 //! [`into_inner`]: crate::ArcSwapAny::into_inner 34 //! [`DefaultStrategy`]: crate::DefaultStrategy 35 //! [`SeqCst`]: std::sync::atomic::Ordering::SeqCst 36 //! [`Weak`]: std::sync::Weak 37 38 pub mod internal; 39 pub mod limitations; 40 pub mod patterns; 41 pub mod performance; 42