rustc_pattern_analysis

Module pat_column

Source

Structs§

  • A column of patterns in a match, where a column is the intuitive notion of “subpatterns that inspect the same subvalue/place”. This is used to traverse patterns column-by-column for lints. Despite similarities with the algorithm in crate::usefulness, this does a different traversal. Notably this is linear in the depth of patterns, whereas compute_exhaustiveness_and_usefulness is worst-case exponential (exhaustiveness is NP-complete). The core difference is that we treat sub-columns separately.