[][src]Module rustc_mir_build::thir::pattern::check_match

Structs

MatchVisitor

Functions

adt_defined_here

Point at the definition of non-covered enum variants.

check_borrow_conflicts_in_at_patterns

Check that there are no borrow or move conflicts in binding @ subpat patterns.

check_for_bindings_named_same_as_variants
check_legality_of_bindings_in_at_patterns

Forbids bindings in @ patterns. This used to be is necessary for memory safety, because of the way rvalues were handled in the borrow check. (See issue #14587.)

check_match
const_not_var

A path pattern was interpreted as a constant, not a new variable. This caused an irrefutable match failure in e.g. let.

create_e0004
irrefutable_let_pattern
is_binding_by_move

Check if a by-value binding is by-value. That is, check if the binding's type is not Copy.

joined_uncovered_patterns
maybe_point_at_variant
non_exhaustive_match

Report that a match is not exhaustive.

pat_is_catchall

Checks for common cases of "catchall" patterns that may not be intended as such.

pattern_not_covered_label
report_arm_reachability

Report unreachable arms, if any.

unreachable_pattern