Function rustc_mir::hair::pattern::_match::all_constructors [−][src]
fn all_constructors<'a, 'tcx: 'a>(
cx: &mut MatchCheckCtxt<'a, 'tcx>,
pcx: PatternContext<'tcx>
) -> Vec<Constructor<'tcx>>
🔬 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?
This determines the set of all possible constructors of a pattern matching
values of type left_ty
. For vectors, this would normally be an infinite set
but is instead bounded by the maximum fixed length of slice patterns in
the column of patterns being analyzed.
This intentionally does not list ConstantValue specializations for non-booleans, because we currently assume that there is always a "non-standard constant" that matches. See issue #12483.
We make sure to omit constructors that are statically impossible. eg for Option<!> we do not include Some(_) in the returned list of constructors.