LoopInvariantCall.is_proof: 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 243-257 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=243&end_line=257 import Base import bend-lint-api@0.2.0.0/linter/lint.bend as Lint # Whether a definition's nodes say it is a proof: it has no return type written (it fills a law), or it returns an # equality. def is_proof(nodes: List<&2, Lint.Node>) -> Bool: match nodes: case Nil{}: True{} case Con{ Lint.Node{Lint.Returns{}, n, s, Con{Lint.Node{Lint.Equality{}, en, es, ek, ef}, k}, f}, rest }: True{} case Con{Lint.Node{Lint.Returns{}, n, s, k, f}, rest}: False{} case Con{node, rest}: is_proof(rest) Uses (4): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List 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