std::weak_ptr is for storing, not for using,

via @tom-kerr