Skip to main content

Module check_match

Module check_match 

Source

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Β§

MatchVisitor πŸ”’

EnumsΒ§

LetSource πŸ”’
RefutableFlag πŸ”’

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 in binding @ subpat patterns.
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 const but 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 DefId of 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.