aboutsummaryrefslogtreecommitdiff
path: root/build/variable.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'build/variable.ixx')
-rw-r--r--build/variable.ixx8
1 files changed, 7 insertions, 1 deletions
diff --git a/build/variable.ixx b/build/variable.ixx
index 54d7104..576d0cb 100644
--- a/build/variable.ixx
+++ b/build/variable.ixx
@@ -28,7 +28,13 @@ namespace build
inline const value_proxy& value_proxy::
operator= (list_value v) const
{
- p->reset (new list_value (std::move (v)));
+ if (*p == nullptr)
+ p->reset (new list_value (std::move (v)));
+ else
+ //@@ Assuming it is a list_value.
+ //
+ as<list_value&> () = std::move (v);
+
return *this;
}