about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2019-06-15 10:11:15 +0100
committerMatthew Jasper <mjjasper1@gmail.com>2019-06-25 22:41:22 +0100
commit82a1a89d55305351a428247a7ad90dee77d85f04 (patch)
tree3c212056bdaa5dac50231a0ae96ab09270ccbd86
parent101a2f59b490650c12c5f9e4561a7390bfce78d3 (diff)
downloadrust-82a1a89d55305351a428247a7ad90dee77d85f04.tar.gz
rust-82a1a89d55305351a428247a7ad90dee77d85f04.zip
Avoid checking if references implement drop
-rw-r--r--src/librustc_mir/build/matches/mod.rs10
1 files changed, 0 insertions, 10 deletions
diff --git a/src/librustc_mir/build/matches/mod.rs b/src/librustc_mir/build/matches/mod.rs
index d2e56c4981f..5a0f5a01a04 100644
--- a/src/librustc_mir/build/matches/mod.rs
+++ b/src/librustc_mir/build/matches/mod.rs
@@ -1652,11 +1652,6 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
             // denotes *R.
             let ref_for_guard =
                 self.storage_live_binding(block, binding.var_id, binding.span, RefWithinGuard);
-            // Question: Why schedule drops if bindings are all
-            // shared-&'s?
-            // Answer: Because schedule_drop_for_binding also emits
-            // StorageDead's for those locals.
-            self.schedule_drop_for_binding(binding.var_id, binding.span, RefWithinGuard);
             match binding.binding_mode {
                 BindingMode::ByValue => {
                     let rvalue = Rvalue::Ref(re_erased, BorrowKind::Shared, binding.source.clone());
@@ -1670,11 +1665,6 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
                         binding.span,
                         OutsideGuard,
                     );
-                    self.schedule_drop_for_binding(
-                        binding.var_id,
-                        binding.span,
-                        OutsideGuard,
-                    );
 
                     let rvalue = Rvalue::Ref(re_erased, borrow_kind, binding.source.clone());
                     self.cfg