Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 8663ee1

Browse files
committed
Fix omitted_patterns lint showing unstable/doc hidden fields
1 parent 22a20e3 commit 8663ee1

File tree

1 file changed

+6
-0
lines changed
  • compiler/rustc_typeck/src/check

1 file changed

+6
-0
lines changed

compiler/rustc_typeck/src/check/pat.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use rustc_hir::{HirId, Pat, PatKind};
1212
use rustc_infer::infer;
1313
use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
1414
use rustc_middle::ty::{self, Adt, BindingMode, Ty, TypeFoldable};
15+
use rustc_middle::{middle::stability::EvalResult, ty::subst::GenericArg};
1516
use rustc_session::lint::builtin::NON_EXHAUSTIVE_OMITTED_PATTERNS;
1617
use rustc_span::hygiene::DesugaringKind;
1718
use rustc_span::lev_distance::find_best_match_for_name;
@@ -1308,6 +1309,11 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
13081309
.copied()
13091310
.filter(|(field, _)| {
13101311
field.vis.is_accessible_from(tcx.parent_module(pat.hir_id).to_def_id(), tcx)
1312+
&& !matches!(
1313+
tcx.eval_stability(field.did, None, DUMMY_SP, None),
1314+
EvalResult::Deny { .. }
1315+
)
1316+
&& !tcx.is_doc_hidden(field.did)
13111317
})
13121318
.collect();
13131319

0 commit comments

Comments
 (0)