rustc_pattern_analysis

Module pat

Source
Expand description

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.

Structs§

  • Values and patterns can be represented as a constructor applied to some fields. This represents a pattern in this form. A DeconstructedPat will almost always come from user input; the only exception are some Wildcards introduced during pattern lowering.
  • A pattern with an index denoting which field it corresponds to.
  • PatId 🔒
    A globally unique id to distinguish patterns.
  • Same idea as DeconstructedPat, except this is a fictitious pattern built up for diagnostics purposes. As such they don’t use interning and can be cloned.

Enums§

  • PatOrWild 🔒
    Represents either a pattern obtained from user input or a wildcard constructed during the algorithm. Do not use Wild to represent a wildcard pattern comping from user input.