about summary refs log tree commit diff
path: root/compiler/rustc_passes/src
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2021-01-24 22:10:06 +0100
committerGitHub <noreply@github.com>2021-01-24 22:10:06 +0100
commit04ddf42218dca9f73edb38919d1dd9caae9b691e (patch)
treed16b7bccb1a8a36c18c4865bea87700d438ac155 /compiler/rustc_passes/src
parentee4461a996dba7a1c7064fdc04934e9b7f01f7f3 (diff)
parent99a1dea1b7727885d2660bae665cff165fb86a50 (diff)
downloadrust-04ddf42218dca9f73edb38919d1dd9caae9b691e.tar.gz
rust-04ddf42218dca9f73edb38919d1dd9caae9b691e.zip
Rollup merge of #81310 - tmiasko:in-pattern, r=petrochenkov
Do not mark unit variants as used when in path pattern

Record that we are processing a pattern so that code responsible for
handling path resolution can correctly decide whether to mark it as
used or not.

Closes #76788.
Diffstat (limited to 'compiler/rustc_passes/src')
-rw-r--r--compiler/rustc_passes/src/dead.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_passes/src/dead.rs b/compiler/rustc_passes/src/dead.rs
index 80a24c90421..3b1b53553d5 100644
--- a/compiler/rustc_passes/src/dead.rs
+++ b/compiler/rustc_passes/src/dead.rs
@@ -290,6 +290,7 @@ impl<'tcx> Visitor<'tcx> for MarkSymbolVisitor<'tcx> {
     }
 
     fn visit_pat(&mut self, pat: &'tcx hir::Pat<'tcx>) {
+        self.in_pat = true;
         match pat.kind {
             PatKind::Struct(ref path, ref fields, _) => {
                 let res = self.typeck_results().qpath_res(path, pat.hir_id);
@@ -302,7 +303,6 @@ impl<'tcx> Visitor<'tcx> for MarkSymbolVisitor<'tcx> {
             _ => (),
         }
 
-        self.in_pat = true;
         intravisit::walk_pat(self, pat);
         self.in_pat = false;
     }