Update smart_ptr from master.