Module clippy_utils::higher

source ·
Expand description

This module contains functions that retrieve specific elements.


  • The essential nodes of a desugared for loop as well as the entire span: for pat in arg { body } becomes (pat, arg, body). Returns (pat, arg, body, span).
  • An if expression without DropTemps
  • An if let expression
  • An if or if let expression
  • Represent a range akin to ast::ExprKind::Range.
  • A desugared while loop
  • A desugared while let loop


  • An if let or match expression. Useful for lints that trigger on one or the other.
  • Represents the pre-expansion arguments of a vec! invocation.
  • A parsed Vec initialization expression


  • Converts a hir binary operator to the corresponding ast type.
  • Checks if the given expression is an initialization of Vec and returns its kind.