Directly calling atomic_load/atomic_store on shared pointers was deprecated in C++20. This usage notably causes warnings in MSVC and GCC. Unfortunately, libc++ does not yet have an implementation for std::atomic<std::shared_ptr<T>>. The use of the overloads is still error-prone, and a brief search suggests that some implementations of atomic_load/store for shared_ptrs may be subpar. It looks like these calls in core were introduced in #5135.
Directly calling
atomic_load/atomic_storeon shared pointers was deprecated in C++20. This usage notably causes warnings in MSVC and GCC. Unfortunately, libc++ does not yet have an implementation forstd::atomic<std::shared_ptr<T>>. The use of the overloads is still error-prone, and a brief search suggests that some implementations of atomic_load/store for shared_ptrs may be subpar. It looks like these calls in core were introduced in #5135.