pub fn topo_sort_crates(graph: &CrateGraph) -> Result<Vec<String>, String>Expand description
Topologically sort workspace crate names using Kahn’s algorithm.
Only workspace-internal edges (path/workspace source kind) are used — external crates.io deps are ignored for ordering. The result is in dependency-first order: if crate A depends on crate B, B appears before A.
Returns Err if a cycle is detected (should not happen in a valid workspace).