From 005933865519122f27d5ee9367401c65f405ae7e Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 5 Nov 2016 12:56:56 +0800 Subject: HIR Expand Reborrow - Reborrow in struct literals --- src/hir_expand/reborrow.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/hir_expand/reborrow.cpp b/src/hir_expand/reborrow.cpp index 3bc89be9..680486a2 100644 --- a/src/hir_expand/reborrow.cpp +++ b/src/hir_expand/reborrow.cpp @@ -106,6 +106,19 @@ namespace { arg = do_reborrow(mv$(arg)); } } + + void visit(::HIR::ExprNode_TupleVariant& node) override { + ::HIR::ExprVisitorDef::visit(node); + for(auto& arg : node.m_args) { + arg = do_reborrow(mv$(arg)); + } + } + void visit(::HIR::ExprNode_StructLiteral& node) override { + ::HIR::ExprVisitorDef::visit(node); + for(auto& arg : node.m_values) { + arg.second = do_reborrow(mv$(arg.second)); + } + } }; class OuterVisitor: public ::HIR::Visitor -- cgit v1.2.3