diff options
Diffstat (limited to 'build2/variable.ixx')
-rw-r--r-- | build2/variable.ixx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/build2/variable.ixx b/build2/variable.ixx index 6b59c72..4b699a6 100644 --- a/build2/variable.ixx +++ b/build2/variable.ixx @@ -189,7 +189,7 @@ namespace build2 typify (v, t, &var); } - inline names_view + inline vector_view<const name> reverse (const value& v, names& storage) { assert (v && @@ -463,10 +463,11 @@ namespace build2 inline void value_traits<name>:: assign (value& v, name&& x) { - if (v) - v.as<name> () = move (x); - else - new (&v.data_) name (move (x)); + name* p (v + ? &(v.as<name> () = move (x)) + : new (&v.data_) name (move (x))); + + p->original = false; } inline int value_traits<name>:: |