summaryrefslogtreecommitdiff
path: root/src/rebar_digraph.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rebar_digraph.erl')
-rw-r--r--src/rebar_digraph.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rebar_digraph.erl b/src/rebar_digraph.erl
index 1198530..bbcb736 100644
--- a/src/rebar_digraph.erl
+++ b/src/rebar_digraph.erl
@@ -18,7 +18,9 @@ restore_graph({Vs, Es}) ->
Graph.
solve(Graph, Vertices) ->
- solve(Graph, Vertices, dict:new()).
+ solve(Graph, Vertices, lists:foldl(fun({Key, _}=N, Solution) ->
+ dict:store(Key, N, Solution)
+ end, dict:new(), Vertices)).
solve(_Graph, [], Solution) ->
{_, Vertices} = lists:unzip(dict:to_list(Solution)),
@@ -28,8 +30,7 @@ solve(Graph, Vertices, Solution) ->
lists:foldl(fun(V, {NewVertices, SolutionAcc}) ->
OutNeighbors = digraph:out_neighbours(Graph, V),
lists:foldl(fun({Key, _}=N, {NewVertices1, SolutionAcc1}) ->
- case dict:is_key(Key, SolutionAcc1) orelse
- lists:keymember(Key, 1, Vertices) of
+ case dict:is_key(Key, SolutionAcc1) of
true ->
{NewVertices1, SolutionAcc1};
false ->