Skip to content

Commit 25d6799

Browse files
authored
Simplify Lib.requires (#12880)
* dev Signed-off-by: Rudi Grinberg <[email protected]> * refactor(lib): simplify [requires] Remove some unnecessary verbosity Signed-off-by: Rudi Grinberg <[email protected]> --------- Signed-off-by: Rudi Grinberg <[email protected]>
1 parent fe3dea2 commit 25d6799

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

src/dune_rules/lib.ml

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -652,24 +652,13 @@ module Parameterised = struct
652652

653653
let remove_arguments lib = { lib with parameters = Resolve.return []; arguments = [] }
654654

655-
let requires lib =
655+
let requires (lib : lib) =
656656
let open Resolve.O in
657-
let* (deps : lib list) = lib.requires in
658-
let* deps =
659-
Resolve.List.map deps ~f:(fun dep -> complement_arguments ~parent:lib dep)
660-
in
661-
let lib_arguments =
662-
List.filter_map lib.arguments ~f:(function
663-
| None -> None
664-
| Some arg -> Some arg)
665-
in
666-
let deps = lib_arguments @ deps in
667-
let deps =
668-
match lib.arguments with
669-
| [] -> deps
670-
| _ -> remove_arguments lib :: deps
671-
in
672-
Resolve.return deps
657+
let+ deps = lib.requires >>= Resolve.List.map ~f:(complement_arguments ~parent:lib) in
658+
let deps = List.filter_opt lib.arguments @ deps in
659+
match lib.arguments with
660+
| [] -> deps
661+
| _ -> remove_arguments lib :: deps
673662
;;
674663

675664
let scope t =

0 commit comments

Comments
 (0)