• Given a set of spans representing statements initializing the relevant binding, visit all the function expressions looking for branching code paths that do not initialize the binding.
  • LetVisitor 🔒
  • MoveSite 🔒
  • We check that there’s a single level of block nesting to ensure always correct suggestions. If we don’t, then we only provide a free-form message to avoid misleading users in cases like tests/ui/nll/ We could expand the analysis to suggest hoising all of the relevant parts of the users’ code to make the code compile, but that could be too much.
  • Detect whether one of the provided spans is a statement nested within the top-most visited expr




Opaque Types

  •  🔒