def report
bend-lint-pack@0.1.1.0 · dead/def.bend:97
import bend-lint-pack@0.1.1.0/dead/def.bend as Def
import Base
import bend-lint-pack@0.1.1.0/vendor/lint.bend as Lint
import bend-lint-pack@0.1.1.0/common.bend as Common
97def report(
98 seen: List<&2, Common.Seen>,
99 +nodes: Set(),
100 +reached: Set(),
101 +into: Map<&2, List<&2, String>>,
102 out: List<&2, Lint.Diag>
103) -> List<&2, Lint.Diag>:
104 match seen:
105 case Nil{}:
106 out
107 case Con{Common.Seen{+owner, span}, rest}:
108 report(
109 rest,
110 nodes,
111 reached,
112 into,
113 Common.onto(
114 Common.when(
115 is_dead(nodes, reached, owner),
116 Common.diag(
117 Lint.Warning{},
118 message(
119 owner,
120 Bool.not(List.is_empty(&2, String, Common.Edges.of(into, owner)))
121 ),
122 span
123 )
124 ),
125 out
126 )
127 )