Re-exportsยง
use std::cell::Cell;๐use std::fmt;๐use std::iter::once;๐use rustc_abi::FIRST_VARIANT;๐use rustc_abi::FieldIdx;๐use rustc_abi::Integer;๐use rustc_abi::VariantIdx;๐use rustc_arena::DroplessArena;๐use rustc_hir::HirId;๐use rustc_index::Idx;๐use rustc_index::IndexVec;๐use rustc_lint_defs::builtin::NON_CONTIGUOUS_RANGE_ENDPOINTS;๐use rustc_lint_defs::builtin::OVERLAPPING_RANGE_ENDPOINTS;๐use rustc_middle::middle::stability::EvalResult;๐use rustc_middle::thir;๐use rustc_middle::thir::Pat;๐use rustc_middle::thir::PatKind;๐use rustc_middle::thir::PatRange;๐use rustc_middle::thir::PatRangeBoundary;๐use rustc_middle::ty::layout::IntegerExt;๐use rustc_middle::ty;๐use rustc_middle::ty::FieldDef;๐use rustc_middle::ty::OpaqueTypeKey;๐use rustc_middle::ty::ScalarInt;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::TypeVisitableExt;๐use rustc_middle::ty::VariantDef;๐use rustc_span::def_id::LocalModId;๐use rustc_span::DUMMY_SP;๐use rustc_span::ErrorGuaranteed;๐use rustc_span::Span;๐use rustc_span::bug;๐use rustc_span::span_bug;๐use crate::constructor::IntRange;๐use crate::constructor::MaybeInfiniteInt;๐use crate::constructor::OpaqueId;๐use crate::constructor::RangeEnd;๐use crate::constructor::Slice;๐use crate::constructor::SliceKind;๐use crate::constructor::VariantVisibility;๐use crate::lints::lint_nonexhaustive_missing_variants;๐use crate::pat_column::PatternColumn;๐use crate::rustc::print::EnumInfo;๐use crate::usefulness::PlaceValidity;๐use crate::usefulness::compute_match_usefulness;๐use crate::PatCx;๐use crate::PrivateUninhabitedField;๐use crate::diagnostics;๐use crate::constructor::Constructor::*;๐
Modulesยง
- print ๐
- Pattern analysis sometimes wants to print patterns as part of a user-visible diagnostic.
Structsยง
- Revealed
Ty - A type which has gone through
cx.reveal_opaque_ty, i.e. if it was opaque it was replaced by the hidden type if allowed in the current body. This ensures we consistently inspect the hidden types when we should. - Rustc
PatCtxt - Rustc
PatCtxt State - Private fields of
RustcPatCtxt, separated out to permit record initialization syntax.
Functionsยง
- analyze_
match - The entrypoint for this crate. Computes whether a match is exhaustive and which of its arms are useful, and runs some lints.
- expand_
or_ ๐pat - Recursively expand this pattern into its subpatterns. Only useful for or-patterns.
- would_
print_ ๐as_ wildcard - Returns
trueif the given pattern would be printed as a wildcard (_).