LoopInvariantCall.loops: def of bend-lint-rules@0.2.0.0 Import: import bend-lint-rules@0.2.0.0/performance/loop_invariant_call.bend as LoopInvariantCall Lines 34-65 of bend-lint-rules@0.2.0.0/performance/loop_invariant_call.bend: https://jend.leeeet.dev/read.txt?path=bend-lint-rules@0.2.0.0/performance/loop_invariant_call.bend&start_line=34&end_line=65 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 # The definitions among `nodes` that call themselves, as the check names them, onto `out`. def loops(nodes: List<&2, Lint.Node>, out: List<&2, String>) -> List<&2, String>: match nodes: case Nil{}: out case Con{Lint.Node{Lint.Definition{+t, u}, n, s, k, f}, rest}: loops( rest, Lists.push( String, Lists.when( String, Bool.not( List.is_empty( &2, Unit, Lint.visit( ~Unit, ~Unit, ~loop.visit, Unit{}, [Lint.Node{Lint.Definition{t, u}, n, s, k, f}] ) ) ), t ), out ) ) case Con{node, rest}: loops(rest, out) Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.is_empty https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=Node https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=Syntax https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=visit https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/shared/lists.bend&name=push https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/shared/lists.bend&name=when https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/performance/loop_invariant_call.bend&name=loop.visit