summaryrefslogtreecommitdiff
path: root/src/expand/mod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expand/mod.cpp')
-rw-r--r--src/expand/mod.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/expand/mod.cpp b/src/expand/mod.cpp
index 2ca45d99..57b44479 100644
--- a/src/expand/mod.cpp
+++ b/src/expand/mod.cpp
@@ -332,7 +332,12 @@ struct CExpandExpr:
void visit(::std::unique_ptr<AST::ExprNode>& cnode) {
if(cnode.get())
- Expand_Attrs(cnode->attrs(), AttrStage::Pre, [&](const auto& sp, const auto& d, const auto& a){ d.handle(sp, a, this->crate, cnode); });
+ {
+ auto attrs = mv$(cnode->attrs());
+ Expand_Attrs(attrs, AttrStage::Pre, [&](const auto& sp, const auto& d, const auto& a){ d.handle(sp, a, this->crate, cnode); });
+ if(cnode.get())
+ cnode->attrs() = mv$(attrs);
+ }
if(cnode.get())
{
cnode->visit(*this);