Fix omitted_patterns lint showing unstable/doc hidden fields
This commit is contained in:
parent
22a20e3f0f
commit
8663ee19e4
1 changed files with 6 additions and 0 deletions
|
@ -12,6 +12,7 @@ use rustc_hir::{HirId, Pat, PatKind};
|
|||
use rustc_infer::infer;
|
||||
use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
|
||||
use rustc_middle::ty::{self, Adt, BindingMode, Ty, TypeFoldable};
|
||||
use rustc_middle::{middle::stability::EvalResult, ty::subst::GenericArg};
|
||||
use rustc_session::lint::builtin::NON_EXHAUSTIVE_OMITTED_PATTERNS;
|
||||
use rustc_span::hygiene::DesugaringKind;
|
||||
use rustc_span::lev_distance::find_best_match_for_name;
|
||||
|
@ -1308,6 +1309,11 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
.copied()
|
||||
.filter(|(field, _)| {
|
||||
field.vis.is_accessible_from(tcx.parent_module(pat.hir_id).to_def_id(), tcx)
|
||||
&& !matches!(
|
||||
tcx.eval_stability(field.did, None, DUMMY_SP, None),
|
||||
EvalResult::Deny { .. }
|
||||
)
|
||||
&& !tcx.is_doc_hidden(field.did)
|
||||
})
|
||||
.collect();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue