Skip to main content

Module pattern

Module pattern 

Source
Expand description

Validation of patterns/matches.

Re-exportsยง

use std::assert_matches; ๐Ÿ”’
use std::cmp::Ordering; ๐Ÿ”’
use std::sync::Arc; ๐Ÿ”’
use rustc_abi::FieldIdx; ๐Ÿ”’
use rustc_abi::Integer; ๐Ÿ”’
use rustc_ast::LitKind; ๐Ÿ”’
use rustc_hir::def::CtorOf; ๐Ÿ”’
use rustc_hir::def::DefKind; ๐Ÿ”’
use rustc_hir::def::Res; ๐Ÿ”’
use rustc_hir::pat_util::EnumerateAndAdjustIterator; ๐Ÿ”’
use rustc_hir as hir; ๐Ÿ”’
use rustc_hir::RangeEnd; ๐Ÿ”’
use rustc_index::Idx; ๐Ÿ”’
use rustc_middle::thir::Ascription; ๐Ÿ”’
use rustc_middle::thir::FieldPat; ๐Ÿ”’
use rustc_middle::thir::LocalVarId; ๐Ÿ”’
use rustc_middle::thir::Pat; ๐Ÿ”’
use rustc_middle::thir::PatKind; ๐Ÿ”’
use rustc_middle::thir::PatRange; ๐Ÿ”’
use rustc_middle::thir::PatRangeBoundary; ๐Ÿ”’
use rustc_middle::ty::adjustment::PatAdjust; ๐Ÿ”’
use rustc_middle::ty::adjustment::PatAdjustment; ๐Ÿ”’
use rustc_middle::ty::layout::IntegerExt; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::CanonicalUserTypeAnnotation; ๐Ÿ”’
use rustc_middle::ty::LitToConstInput; ๐Ÿ”’
use rustc_middle::ty::Ty; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::const_lit_matches_ty; ๐Ÿ”’
use rustc_span::ErrorGuaranteed; ๐Ÿ”’
use rustc_span::bug; ๐Ÿ”’
use rustc_span::span_bug; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use tracing::instrument; ๐Ÿ”’
use tracing::instrument; ๐Ÿ”’
use self::migration::PatMigration; ๐Ÿ”’
use crate::thir::cx::ThirBuildCx; ๐Ÿ”’
use rustc_errors::codes::*; ๐Ÿ”’
use crate::diagnostics::*; ๐Ÿ”’

Modulesยง

check_match ๐Ÿ”’
const_to_pat ๐Ÿ”’
migration ๐Ÿ”’
Automatic migration of Rust 2021 patterns to a form valid in both Editions 2021 and 2024.

Structsยง

PatCtxt ๐Ÿ”’
Context for lowering HIR patterns to THIR patterns.

Functionsยง

check_match ๐Ÿ”’
pat_from_hir ๐Ÿ”’