summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-06-08 08:37:45 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-06-08 08:37:45 +0800
commitf2fdba69bf483c3516550f99fb6179acd95c6edb (patch)
tree58d8aeedc5a7a9500210ff2cbf06f1de5abd8642 /src
parentb73112ba036364195169f243e573cf61442dcc7e (diff)
downloadmrust-f2fdba69bf483c3516550f99fb6179acd95c6edb.tar.gz
MIR Gen - Casts move
Diffstat (limited to 'src')
-rw-r--r--src/hir_expand/reborrow.cpp4
-rw-r--r--src/mir/mir_builder.cpp2
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);
}