summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/expression/expression_ptr.cpp4
-rw-r--r--src/buildtool/build_engine/expression/expression_ptr.hpp3
-rw-r--r--src/buildtool/build_engine/target_map/target_map.cpp2
3 files changed, 3 insertions, 6 deletions
diff --git a/src/buildtool/build_engine/expression/expression_ptr.cpp b/src/buildtool/build_engine/expression/expression_ptr.cpp
index 9d249412..256e580b 100644
--- a/src/buildtool/build_engine/expression/expression_ptr.cpp
+++ b/src/buildtool/build_engine/expression/expression_ptr.cpp
@@ -5,10 +5,6 @@
ExpressionPtr::ExpressionPtr() noexcept : ptr_{Expression::kNone.ptr_} {}
-auto ExpressionPtr::operator*() && -> Expression {
- return *ptr_;
-}
-
auto ExpressionPtr::operator[](
std::string const& key) const& -> ExpressionPtr const& {
return (*ptr_)[key];
diff --git a/src/buildtool/build_engine/expression/expression_ptr.hpp b/src/buildtool/build_engine/expression/expression_ptr.hpp
index aeca6287..d7e05923 100644
--- a/src/buildtool/build_engine/expression/expression_ptr.hpp
+++ b/src/buildtool/build_engine/expression/expression_ptr.hpp
@@ -34,8 +34,9 @@ class ExpressionPtr {
auto operator=(ExpressionPtr&&) noexcept -> ExpressionPtr& = default;
explicit operator bool() const { return static_cast<bool>(ptr_); }
+ [[nodiscard]] auto operator*() & -> Expression& { return *ptr_; }
[[nodiscard]] auto operator*() const& -> Expression const& { return *ptr_; }
- [[nodiscard]] auto operator*() && -> Expression;
+ [[nodiscard]] auto operator*() && -> Expression = delete;
[[nodiscard]] auto operator->() const& -> Expression const* {
return ptr_.get();
}
diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp
index d15c1af4..e3f203a9 100644
--- a/src/buildtool/build_engine/target_map/target_map.cpp
+++ b/src/buildtool/build_engine/target_map/target_map.cpp
@@ -748,7 +748,7 @@ void withDependencies(
return;
}
auto analysis_result =
- std::make_shared<AnalysedTarget>((*std::move(result)).Result(),
+ std::make_shared<AnalysedTarget>(std::move(*result).Result(),
std::move(actions),
std::move(blobs),
std::move(trees),