# Implementing Arc

In this section, we'll be implementing a simpler version of `std::sync::Arc`. Similarly to the implementation of `Vec` we made earlier, we won't be taking advantage of as many optimizations, intrinsics, or unstable code as the standard library may.

This implementation is loosely based on the standard library's implementation (technically taken from `alloc::sync` in 1.49, as that's where it's actually implemented), but it will not support weak references at the moment as they make the implementation slightly more complex.

Please note that this section is very work-in-progress at the moment.