Crate rustc_pattern_analysis

source ·
Expand description

Analysis of patterns, notably match exhaustiveness checking.

Modules§

  • As explained in crate::usefulness, values and patterns are made from constructors applied to fields. This file defines a Constructor enum and various operations to manipulate them.
  • lints 🔒
  • As explained in crate::usefulness, values and patterns are made from constructors applied to fields. This file defines types that represent patterns in this way.
  • Match exhaustiveness and redundancy algorithm

Structs§

  • An owned contiguous collection of Ts, indexed by I rather than by usize.
  • The arm of a match expression.
  • bool newtype that indicates whether this is a privately uninhabited field that we should skip during analysis.

Statics§

  • Raw content of Fluent resource for this crate, generated by fluent_messages macro, imported by rustc_driver to include all crates’ resources in one bundle.

Traits§

  • Represents some newtyped usize wrapper.
  • Context that provides type information about constructors.

Functions§

  • The entrypoint for this crate. Computes whether a match is exhaustive and which of its arms are useful, and runs some lints.