this should be a whiteboard discussion, but the shared_ptr's move assignment shouldn't do anything to reference counting, since you're moving the reference count should stay the same.