Strict.call: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/rules/pedantic/strict.bend as Strict Lines 54-71 of bolt@1.27.0.0/src/rules/pedantic/strict.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/rules/pedantic/strict.bend&start_line=54&end_line=71 import Base import bolt@1.27.0.0/src/finding.bend as F # a name, then a group: a finding when the name is the def, the group a `(` # call and the stretch hot, then what the group and the rest report def call( +tt: String, +ll: U32, +cc: U32, +oo: String, +name: String, +path: String, +hot: Bool, kids: List<&2, F.Finding>, rest: List<&2, F.Finding> ) -> List<&2, F.Finding>: +more = List.concat(&2, F.Finding, [kids, rest]) Bool.pick(List<&2, F.Finding>, Bool.and(Bool.and(String.eq(oo, "("), String.eq(tt, name)), hot), F.Finding{path, ll, cc, U32.from_nat(String.length(name)), "strict", name ++ " calls itself inside Bool.and or Bool.or, which evaluate both sides, so there is no short-circuit; match on the Bool in a helper."} <> more, more) Uses (12): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.concat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.length https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.from_nat https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/finding.bend&name=Finding