great article!
Is it?
I didn't read past the first sentence:
The Arc type is Rust’s thread-safe smart pointer
This is horrible in my view. All types that implement Deref and/or DerefMut can be called smart pointers, and everything is "thread-safe" in safe Rust.
If I had to call something "Rust's thread-safe smart pointer", it would be the actual references &T/&mut T where T: Send + Sync.
Digression: All the traits involved like the 4 mentioned above point to the C++ centric concept of smart pointer not mapping cleanly to Rust semantics imho. But that's a long lost battle.
Let's see what the official Arc docs say:
A thread-safe reference-counting pointer.
Will you look at that! An actually accurate short description that is already available.
While not widespread, there is already a small myth out there that paints Rust as if it's Swift-like, a ref-counting centric language.