summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mir/from_hir.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mir/from_hir.cpp b/src/mir/from_hir.cpp
index 8e536c76..3aedd680 100644
--- a/src/mir/from_hir.cpp
+++ b/src/mir/from_hir.cpp
@@ -1404,6 +1404,7 @@ namespace {
auto place_refmut = m_builder.lvalue_or_temp(node.span(), place_refmut__type, ::MIR::RValue::make_Borrow({ 0, ::HIR::BorrowType::Unique, place.clone() }));
// <typeof(place) as ops::Place<T>>::pointer (T = inner)
auto fcn_path = ::HIR::Path(place_type.clone(), ::HIR::GenericPath(path_Place, ::HIR::PathParams(data_ty.clone())), "pointer");
+ m_builder.moved_lvalue(node.span(), place_refmut);
m_builder.end_block(::MIR::Terminator::make_Call({
place_raw__ok, place_raw__panic,
place_raw.clone(), mv$(fcn_path),
@@ -1440,6 +1441,7 @@ namespace {
auto res = m_builder.new_temporary( node.m_res_type );
auto res__panic = m_builder.new_bb_unlinked();
auto res__ok = m_builder.new_bb_unlinked();
+ m_builder.moved_lvalue(node.span(), place);
m_builder.end_block(::MIR::Terminator::make_Call({
res__ok, res__panic,
res.clone(), mv$(finalize_path),