Module rustc_mir_build::build::matches[−][src]

Code related to match expressions. These are sufficiently complex to warrant their own module and submodules. :) This main module includes the high-level algorithm, the submodules contain the details.

This also includes code for pattern bindings in let statements and function parameters.

Modules

simplify

Simplifying Candidates

test
util

Structs

ArmHasGuard

ArmHasGuard is a wrapper around a boolean flag. It indicates whether a match arm has a guard expression attached to it.

Ascription

Indicates that the type of source must be a subtype of the user-given type user_ty; this is basically a no-op but can influence region inference.

Binding
Candidate
MatchPair
Test

A test to perform to determine which Candidate matches a value.

Enums

TestKind

See Test for more.

Functions

traverse_candidate

A depth-first traversal of the Candidate and all of its recursive subcandidates.