Skip to content

Commit 80a022b

Browse files
committed
fix package requires order
Signed-off-by: ArthurW <arthur@tarides.com>
1 parent 27e034e commit 80a022b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/dune_rules/lib.ml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,9 +1285,12 @@ end = struct
12851285
"expected Virtual or Parameter"
12861286
[ "implements", to_dyn impl ])
12871287
in
1288-
List.concat [ requires_implements; requires_params; requires ]
1289-
|> Set.of_list
1290-
|> Set.to_list
1288+
let requires = List.concat [ requires_implements; requires_params; requires ] in
1289+
let _, requires =
1290+
List.fold_left requires ~init:(Set.empty, []) ~f:(fun (seen, lst) lib ->
1291+
if Set.mem seen lib then seen, lst else Set.add seen lib, lib :: lst)
1292+
in
1293+
List.rev requires
12911294
in
12921295
let resolve_impl impl_name =
12931296
let open Resolve.Memo.O in

0 commit comments

Comments
 (0)