diff options
author | John Hodge <tpg@ucc.asn.au> | 2019-06-08 08:37:45 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2019-06-08 08:37:45 +0800 |
commit | f2fdba69bf483c3516550f99fb6179acd95c6edb (patch) | |
tree | 58d8aeedc5a7a9500210ff2cbf06f1de5abd8642 /src | |
parent | b73112ba036364195169f243e573cf61442dcc7e (diff) | |
download | mrust-f2fdba69bf483c3516550f99fb6179acd95c6edb.tar.gz |
MIR Gen - Casts move
Diffstat (limited to 'src')
-rw-r--r-- | src/hir_expand/reborrow.cpp | 4 | ||||
-rw-r--r-- | src/mir/mir_builder.cpp | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/hir_expand/reborrow.cpp b/src/hir_expand/reborrow.cpp index cb466f6f..ecf37c64 100644 --- a/src/hir_expand/reborrow.cpp +++ b/src/hir_expand/reborrow.cpp @@ -87,6 +87,10 @@ namespace { return node_ptr; } + void visit(::HIR::ExprNode_Cast& node) override { + ::HIR::ExprVisitorDef::visit(node); + node.m_value = do_reborrow(mv$(node.m_value)); + } void visit(::HIR::ExprNode_Emplace& node) override { ::HIR::ExprVisitorDef::visit(node); node.m_value = do_reborrow(mv$(node.m_value)); diff --git a/src/mir/mir_builder.cpp b/src/mir/mir_builder.cpp index a064b67d..8e87c523 100644 --- a/src/mir/mir_builder.cpp +++ b/src/mir/mir_builder.cpp @@ -289,7 +289,7 @@ void MirBuilder::push_stmt_assign(const Span& sp, ::MIR::LValue dst, ::MIR::RVal ), (Cast, // TODO: Does this actually move? - if( e.type.m_data.is_Borrow() ) + //if( !e.type.m_data.is_Borrow() ) { this->moved_lvalue(sp, e.val); } |