Re-exportsΒ§
use rustc_arena::DroplessArena;πuse rustc_arena::TypedArena;πuse rustc_ast::Mutability;πuse rustc_data_structures::fx::FxIndexSet;πuse rustc_errors::Applicability;πuse rustc_errors::ErrorGuaranteed;πuse rustc_errors::MultiSpan;πuse rustc_errors::msg;πuse rustc_errors::struct_span_code_err;πuse rustc_hir::def_id::DefId;πuse rustc_hir::def_id::LocalDefId;πuse rustc_hir as hir;πuse rustc_hir::BindingMode;πuse rustc_hir::ByRef;πuse rustc_hir::HirId;πuse rustc_hir::MatchSource;πuse rustc_infer::infer::TyCtxtInferExt;πuse rustc_lint_defs::builtin::BINDINGS_WITH_VARIANT_NAME;πuse rustc_lint_defs::builtin::IRREFUTABLE_LET_PATTERNS;πuse rustc_lint_defs::builtin::UNREACHABLE_PATTERNS;πuse rustc_middle::thir::visit::Visitor;πuse rustc_middle::ty::print::with_no_trimmed_paths;πuse rustc_middle::ty::print::with_no_trimmed_paths;πuse rustc_middle::ty;πuse rustc_middle::ty::AdtDef;πuse rustc_middle::ty::Ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_pattern_analysis::diagnostics::Uncovered;πuse rustc_pattern_analysis::rustc::Constructor;πuse rustc_pattern_analysis::rustc::DeconstructedPat;πuse rustc_pattern_analysis::rustc::MatchArm;πuse rustc_pattern_analysis::rustc::RedundancyExplanation;πuse rustc_pattern_analysis::rustc::RevealedTy;πuse rustc_pattern_analysis::rustc::RustcPatCtxt as PatCtxt;πuse rustc_pattern_analysis::rustc::Usefulness;πuse rustc_pattern_analysis::rustc::UsefulnessReport;πuse rustc_pattern_analysis::rustc::WitnessPat;πuse rustc_span::edit_distance::find_best_match_for_name;πuse rustc_span::hygiene::DesugaringKind;πuse rustc_span::Ident;πuse rustc_span::Span;πuse rustc_span::bug;πuse rustc_trait_selection::infer::InferCtxtExt;πuse tracing::instrument;πuse tracing::instrument;πuse rustc_errors::codes::*;πuse rustc_hir::def::*;πuse rustc_middle::thir::*;πuse crate::diagnostics::*;πuse RefutableFlag::*;π
StructsΒ§
- Match
Visitor π
EnumsΒ§
- LetSource π
- Refutable
Flag π
FunctionsΒ§
- check_
borrow_ πconflicts_ in_ at_ patterns - Check if a by-value binding is by-value. That is, check if the bindingβs type is not
Copy. Check that there are no borrow or move conflicts inbinding @ subpatpatterns. - check_
for_ πbindings_ named_ same_ as_ variants - check_
match π - check_
never_ πpattern - Check that never patterns are only used on inhabited types.
- collect_
special_ πtys - Collect types that require specific explanations when they show up in witnesses.
- find_
fallback_ πpattern_ typo - Detect typos that were meant to be a
constbut were interpreted as a new pattern binding. - is_
const_ πpat_ that_ looks_ like_ binding - If the given pattern is a named constant that looks like it could have been
intended to be a binding, returns the
DefIdof the named constant. - joined_
uncovered_ πpatterns - maybe_
point_ πat_ variant - pat_
is_ πcatchall - Checks for common cases of βcatchallβ patterns that may not be intended as such.
- report_
adt_ πdefined_ here - report_
arm_ πreachability - Report unreachable arms, if any.
- report_
irrefutable_ πlet_ patterns - report_
non_ πexhaustive_ match - Report that a match is not exhaustive.
- report_
unreachable_ πpattern - Report unreachable arms, if any.