Replaces the value in a std::experimental::weak_ptr with a copy of the
            value in another std::experimental::weak_ptr.
          
template<typename Other> weak_ptr& operator=(weak_ptr<Other> const& other) noexcept;
template<typename Other> weak_ptr& operator=(weak_ptr<Other> const& other) noexcept{ weak_ptr temp(other); this->swap(temp); return *this; }
            #include <experimental/atomic>