def check.go
bolt@1.27.0.0 · src/rules/pedantic/tail.bend:55
import bolt@1.27.0.0/src/rules/pedantic/tail.bend as Tail
import Base
import bolt@1.27.0.0/src/finding.bend as F
import bolt@1.27.0.0/src/lazy/lazy.bend as Lazy
import bolt@1.27.0.0/src/rules/calls.bend as Calls
55def check.go(ds: List<&2, Calls.Def>, +path: String, acc: List<&2, List<&2, F.Finding>>) -> List<&2, F.Finding>:
56 match ds:
57 case Nil{}:
58 List.concat(&2, F.Finding, List.reverse(&2, List<&2, F.Finding>, acc))
59 case Con{Calls.Def{+name, +sig, body}, rest}:
60 check.go(rest, path,
61 Lazy.stop(List<&2, F.Finding>, Bool.not(Bool.and(Calls.seq(sig), Bool.not(Calls.exempt(path, sig)))), [],
62 _u => walk(body, name, path, False{})) <> acc)