diff options
author | John Hodge <tpg@mutabah.net> | 2016-09-07 10:41:30 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-09-07 10:41:30 +0800 |
commit | d7d8e3e33d8950443eee0db30a983c9f45c65d30 (patch) | |
tree | 8d5c75498fd07ec7ddc778bc9922dbdf6e7db035 | |
parent | 2efc957fbdc7d09f0ee89df6b5a7032ded29cc00 (diff) | |
download | mrust-d7d8e3e33d8950443eee0db30a983c9f45c65d30.tar.gz |
HIR (De)serialise - Support shallow MIR drops
-rw-r--r-- | src/hir/deserialise.cpp | 2 | ||||
-rw-r--r-- | src/hir/serialise.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/hir/deserialise.cpp b/src/hir/deserialise.cpp index c19f8621..ef154318 100644 --- a/src/hir/deserialise.cpp +++ b/src/hir/deserialise.cpp @@ -958,7 +958,7 @@ namespace { }); case 1: return ::MIR::Statement::make_Drop({ - ::MIR::eDropKind::DEEP, + read_bool() ? ::MIR::eDropKind::DEEP : ::MIR::eDropKind::SHALLOW, deserialise_mir_lvalue() }); default: diff --git a/src/hir/serialise.cpp b/src/hir/serialise.cpp index 850f73a7..1397668f 100644 --- a/src/hir/serialise.cpp +++ b/src/hir/serialise.cpp @@ -512,7 +512,8 @@ namespace { ), (Drop, write_tag(1); - assert(e.kind == ::MIR::eDropKind::DEEP); + assert(e.kind == ::MIR::eDropKind::DEEP || e.kind == ::MIR::eDropKind::SHALLOW); + write_bool(e.kind == ::MIR::eDropKind::DEEP); serialise(e.slot); ) ) |