def Seen.of
import bend-lint-rules@0.2.0.0/language/reused_binder.bend as ReusedBinderimport Base
import bend-lint-api@0.2.0.0/linter/lint.bend as Lint
93# What a node's uses of `b` are: its own, if it is a live use, else `under`'s, those under it.
94def Seen.of(+node: Lint.Node, b: U32, live: Bool, under: Seen) -> Seen:
95 match node live:
96 case Lint.Node{Lint.Variable{v}, n, Some{span}, k, f} True{}:
97 Bool.pick(Seen, U32.is_eq(v, b), Seen{Some{span}, None{}}, under)
98 case _ _:
99 under