ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib
Yuya Nishihara 3d5a07e86a dag_walk: add fallible dfs(), topo_order(), heads(), and closest_common_node()
This unblocks the use of Result<T, E> in op.parents().

There are two ways to encode errors:
 a. impl IntoIterator<Item = Result<T, E>>
 b. Result<V, E> where V: FromIterator<Item = T>
I think (a) is more natural to algorithms like dfs(), which can process error
nodes transparently.

Still the caller might have to collect the source iterator to temporary Vec
to conform to the neighbors_fn signature. It's not easy for neighbors_fn to
return an iterator borrowing the input node. We already have GAT, but doesn't
have return-position impl Trait in trait yet.
2023-11-14 07:16:39 +09:00
..
benches
gen-protos
src dag_walk: add fallible dfs(), topo_order(), heads(), and closest_common_node() 2023-11-14 07:16:39 +09:00
tests git_backend: pass UserSettings to GitBackend constructors 2023-11-11 22:35:54 +09:00
testutils sign: Implement storage for digital commit signatures 2023-11-12 03:37:13 +02:00
Cargo.toml
LICENSE