diff --git a/src/Scope.h b/src/Scope.h index 6a84610396..5b8c96066c 100644 --- a/src/Scope.h +++ b/src/Scope.h @@ -73,7 +73,7 @@ public: id_list* GetInits(); // Adds a variable to the list. - void AddInit(ID* id) { inits->push_back(id); } + void AddInit(IntrusivePtr &&id) { inits->push_back(id.release()); } void Describe(ODesc* d) const override; diff --git a/src/Var.cc b/src/Var.cc index 66493ba0dc..b7411e9ca7 100644 --- a/src/Var.cc +++ b/src/Var.cc @@ -254,7 +254,7 @@ IntrusivePtr add_local(IntrusivePtr id, IntrusivePtr t, else { - current_scope()->AddInit(id.release()); + current_scope()->AddInit(std::move(id)); return make_intrusive(); } }