impl_method

Function impl_method 

Source
pub(super) fn impl_method<'a, 'lt, 'db, DB: HirDatabase>(
    ctx: &'a TermSearchCtx<'db, DB>,
    _defs: &'a FxHashSet<ScopeDef>,
    lookup: &'lt mut LookupTable<'db>,
    should_continue: &'a dyn Fn() -> bool,
) -> impl Iterator<Item = Expr<'db>> + use<'a, 'db, 'lt, DB>
Expand description

§Impl method tactic

Attempts to call methods on types from lookup table. This includes both functions from direct impl blocks as well as functions from traits. Methods defined in impl blocks that are generic and methods that are themselves have generics are ignored for performance reasons.

Updates lookup by new types reached and returns iterator that yields elements that unify with goal.

§Arguments

  • ctx - Context for the term search
  • defs - Set of items in scope at term search target location
  • lookup - Lookup table for types
  • should_continue - Function that indicates when to stop iterating