struct_projection

Function struct_projection 

Source
pub(super) fn struct_projection<'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

§Struct projection tactic

Attempts different struct fields (foo.bar.baz)

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