def clash.go
import ezx@1.11.0.0/src/ws/joint.bend as Jointimport Base
import ezx@1.11.0.0/src/ledger/manifest.bend as M
217# the first dependency that does not agree with the first declaration of its
218# name, "" for none
219def clash.go(ds: List<&2, M.Dep>, +all: List<&2, M.Dep>) -> String:
220 match ds:
221 case []:
222 ""
223 case +hd <> tl:
224 rest = clash.go(tl, all)
225 Bool.pick(String, dep.eq(hd, M.find(all, M.dep.name(hd))), rest, M.dep.name(hd))