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)

Uses (15)

Used by (1)