We use atomic operations to update the pointers in a thread-safe manner
Are you sure about that? Atomics are not locks, and not all systems have strong memory ordering.
replies(3):
Atomics require you to explicitly specify a memory ordering for every operation, so the system's memory ordering doesn't really matter. It's still possible to get it wrong, but a lot easier than in (traditional) C.
But yes, it's an order of magnitude easier to get portability right using the C++/Rust memory model than what came before.