beam: toposort handle None deps as empty

This commit is contained in:
beam authored and Volt committed 2026-10-24 03:28:55 +00:00
1 parent 77e3055502
commit a066bfcaab
1 file changed
+4
+4
View File
@@ -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