Skip to main content

Module match_pair

Module match_pair 

Source

Re-exportsΒ§

use std::sync::Arc; πŸ”’
use rustc_abi::FieldIdx; πŸ”’
use rustc_middle::mir::Pinnedness; πŸ”’
use rustc_middle::mir::Place; πŸ”’
use rustc_middle::mir::PlaceElem; πŸ”’
use rustc_middle::mir::ProjectionElem; πŸ”’
use rustc_middle::thir::Ascription; πŸ”’
use rustc_middle::thir::DerefPatBorrowMode; πŸ”’
use rustc_middle::thir::FieldPat; πŸ”’
use rustc_middle::thir::Pat; πŸ”’
use rustc_middle::thir::PatKind; πŸ”’
use rustc_middle::ty; πŸ”’
use rustc_middle::ty::Ty; πŸ”’
use rustc_middle::ty::TypeVisitableExt; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::span_bug; πŸ”’
use crate::builder::Builder; πŸ”’
use crate::builder::expr::as_place::PlaceBase; πŸ”’
use crate::builder::expr::as_place::PlaceBuilder; πŸ”’
use crate::builder::matches::FlatPat; πŸ”’
use crate::builder::matches::MatchPairKind; πŸ”’
use crate::builder::matches::MatchPairTree; πŸ”’
use crate::builder::matches::PatConstKind; πŸ”’
use crate::builder::matches::PatternExtraData; πŸ”’
use crate::builder::matches::SliceLenOp; πŸ”’
use crate::builder::matches::TestableCase; πŸ”’

StructsΒ§

InterPat πŸ”’
β€œIntermediate pattern”, a partly-lowered THIR Pat that has not yet been squashed into a forest of refutable MatchPairTree nodes.

EnumsΒ§

InterPatKind πŸ”’

FunctionsΒ§

prefix_slice_suffix πŸ”’
For an array or slice pattern’s subpatterns (prefix/slice/suffix), returns a list of those subpatterns, each paired with a suitably-projected PlaceBuilder.
squash_inter_pat πŸ”’
Recursively squashes an InterPat into a forest of refutable MatchPairTree nodes, while accumulating ascriptions and bindings.