beam: toposort handle None deps as empty
This commit is contained in:
1 parent
77e3055502
commit
a066bfcaab
1 file changed
+4
@@ -26,12 +26,16 @@ def topo_sort(graph: Mapping[Any, Iterable[Any]]) -> TopoResult:
|
||||
# Normalize: ensure every referenced node exists as a key.
|
||||
nodes: set[Any] = set(graph.keys())
|
||||
for deps in graph.values():
|
||||
if deps is None:
|
||||
continue
|
||||
for d in deps:
|
||||
nodes.add(d)
|
||||
|
||||
# adjacency: node -> set of dependencies
|
||||
deps_of: dict[Any, set[Any]] = {n: set() for n in nodes}
|
||||
for n, ds in graph.items():
|
||||
if ds is None:
|
||||
ds = []
|
||||
for d in ds:
|
||||
if d == n:
|
||||
# self-loop is a cycle of length 1
|
||||
|
||||
Reference in new issue
Block a user