def defs
bend-lint-rules@0.2.0.0 · language/reused_binder.bend:193
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
import bend-lint-api@0.2.0.0/shared/lists.bend as Lists
193def defs(nodes: List<&2, Lint.Node>, out: List<&2, Lint.Finding>) -> List<&2, Lint.Finding>:
194 match nodes:
195 case Nil{}:
196 List.reverse(&2, Lint.Finding, out)
197 case Con{Lint.Node{Lint.Definition{t, u}, n, s, +k, f}, rest}:
198 +owner = {Lint.Node{Lint.Definition{t, u}, n, s, k, f}: Lint.Node}
199 defs(
200 rest,
201 judge(
202 owner,
203 Lint.visit(~Bool, ~Once, ~Once.of, Lists.any(~Lint.Node, ~Lint.Node.is_bare, k), [owner]),
204 Lint.visit(~Unit, ~U32, ~scrutinee, Unit{}, [owner]),
205 out
206 )
207 )
208 case Con{node, rest}:
209 defs(rest, out)