def Seen.then

bend-lint-rules@0.2.0.0 · language/reused_binder.bend:101

import bend-lint-rules@0.2.0.0/language/reused_binder.bend as ReusedBinder
import Base
import bend-lint-api@0.2.0.0/linter/lint.bend as Lint

101# The uses of `seen`, then those of `next`, the nodes after them: on one path, or, if `apart`, on paths of their own.
102def Seen.then(apart: Bool, seen: Seen, next: Seen) -> Seen:
103  match apart seen next:
104    case True{} Seen{f, s} Seen{g, t}:
105      Seen{Maybe.or(&2, Lint.Span, f, g), Maybe.or(&2, Lint.Span, s, t)}
106    case False{} Seen{Some{f}, s} Seen{g, t}:
107      Seen{Some{f}, Maybe.or(&2, Lint.Span, s, g)}
108    case False{} Seen{None{}, s} Seen{g, t}:
109      Seen{g, Maybe.or(&2, Lint.Span, s, t)}

Uses (5)

Used by (1)