Module rustc_mir::hair::pattern[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Code to validate patterns/matches

Re-exports

pub use self::check_match::check_crate;
pub(crate) use self::check_match::check_match;
use interpret::const_val_field;
use interpret::const_variant_index;
use interpret;
use rustc::middle::const_val::ConstVal;
use rustc::mir::fmt_const_val;
use rustc::mir::Field;
use rustc::mir::BorrowKind;
use rustc::mir::Mutability;
use rustc::mir::interpret::Scalar;
use rustc::mir::interpret::GlobalId;
use rustc::mir::interpret::ConstValue;
use rustc::mir::interpret::Value;
use rustc::ty;
use rustc::ty::TyCtxt;
use rustc::ty::AdtDef;
use rustc::ty::Ty;
use rustc::ty::Region;
use rustc::ty::subst::Substs;
use rustc::ty::subst::Kind;
use rustc::hir;
use rustc::hir::PatKind;
use rustc::hir::RangeEnd;
use rustc::hir::def::Def;
use rustc::hir::def::CtorKind;
use rustc::hir::pat_util::EnumerateAndAdjustIterator;
use rustc_data_structures::indexed_vec::Idx;
use std::cmp::Ordering;
use std::fmt;
use syntax::ast;
use syntax::ptr::P;
use syntax::ptr::P;
use syntax_pos::Span;
use syntax_pos::symbol::Symbol;

Modules

_match [
Experimental
]
check_match [
Experimental
]

Structs

FieldPattern [
Experimental
]
Pattern [
Experimental
]
PatternContext [
Experimental
]

Enums

BindingMode [
Experimental
]
PatternError [
Experimental
]
PatternKind [
Experimental
]

Traits

PatternFoldable [
Experimental
]
PatternFolder [
Experimental
]

Functions

compare_const_vals [
Experimental
]
lit_to_const [
Experimental
]
parse_float [
Experimental
]
print_const_val [
Experimental
]