diff --git a/compiler/rustc_middle/src/thir.rs b/compiler/rustc_middle/src/thir.rs index f37c8486df5..d50d2e19f2d 100644 --- a/compiler/rustc_middle/src/thir.rs +++ b/compiler/rustc_middle/src/thir.rs @@ -789,11 +789,14 @@ pub enum PatKind<'tcx> { }, /// Inline or named constant found while lowering a pattern. + /// + /// We only mark patterns referencing constants when they are bare names that could have been + /// new bindings if the `const` didn't exist. ExpandedConstant { /// [DefId] of the constant, we need this so that we have a /// reference that can be used by unsafety checking to visit nested - /// unevaluated constants. If the `DefId` doesn't correspond to a local - /// crate, it points at the `const` item. + /// unevaluated constants and for diagnostics. If the `DefId` doesn't + /// correspond to a local crate, it points at the `const` item. def_id: DefId, /// If `false`, then `def_id` points at a `const` item, otherwise it /// corresponds to a local inline const. diff --git a/compiler/rustc_mir_build/src/thir/pattern/check_match.rs b/compiler/rustc_mir_build/src/thir/pattern/check_match.rs index 1cab055864d..db0f8a28293 100644 --- a/compiler/rustc_mir_build/src/thir/pattern/check_match.rs +++ b/compiler/rustc_mir_build/src/thir/pattern/check_match.rs @@ -696,10 +696,6 @@ impl<'p, 'tcx> MatchVisitor<'p, 'tcx> { misc_suggestion = Some(MiscPatternSuggestion::AttemptedIntegerLiteral { start_span: pat.span.shrink_to_lo(), }); - } else if snippet.chars().all(|c| c.is_alphanumeric() || c == '_') { - interpreted_as_const = Some(pat.span); - interpreted_as_const_sugg = - Some(InterpretedAsConst { span: pat.span, variable: snippet }); } }