Skip to content

Commit b0b740b

Browse files
authored
Some style tweaks to our equality boilerplate code in pkg_rules (#12759)
Signed-off-by: Rudi Grinberg <[email protected]>
1 parent 172ebb1 commit b0b740b

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

src/dune_rules/pkg_rules.ml

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,12 +1198,24 @@ module DB = struct
11981198
; dep_pkg_digest : Pkg_digest.t
11991199
}
12001200

1201+
let dep_equal (dep : dep) { dep_pkg; dep_loc; dep_pkg_digest } =
1202+
Pkg.equal dep.dep_pkg dep_pkg
1203+
&& Loc.equal dep.dep_loc dep_loc
1204+
&& Pkg_digest.equal dep.dep_pkg_digest dep_pkg_digest
1205+
;;
1206+
12011207
type entry =
12021208
{ pkg : Pkg.t
12031209
; deps : dep list
12041210
; pkg_digest : Pkg_digest.t
12051211
}
12061212

1213+
let entry_equal (entry : entry) { pkg; deps; pkg_digest } =
1214+
Pkg.equal entry.pkg pkg
1215+
&& List.equal dep_equal entry.deps deps
1216+
&& Pkg_digest.equal entry.pkg_digest pkg_digest
1217+
;;
1218+
12071219
let entries_by_name_of_lock_dir
12081220
(lock_dir : Dune_pkg.Lock_dir.t)
12091221
~platform
@@ -1257,18 +1269,7 @@ module DB = struct
12571269
(* Associate each package's digest with the package and its dependencies. *)
12581270
type t = entry Pkg_digest.Map.t
12591271

1260-
let equal a b =
1261-
Pkg_digest.Map.equal a b ~equal:(fun (entry : entry) { pkg; deps; pkg_digest } ->
1262-
Pkg.equal entry.pkg pkg
1263-
&& List.equal
1264-
(fun (dep : dep) { dep_pkg; dep_loc; dep_pkg_digest } ->
1265-
Pkg.equal dep.dep_pkg dep_pkg
1266-
&& Loc.equal dep.dep_loc dep_loc
1267-
&& Pkg_digest.equal dep.dep_pkg_digest dep_pkg_digest)
1268-
entry.deps
1269-
deps
1270-
&& Pkg_digest.equal entry.pkg_digest pkg_digest)
1271-
;;
1272+
let equal = Pkg_digest.Map.equal ~equal:entry_equal
12721273

12731274
let of_lock_dir lock_dir ~platform ~system_provided =
12741275
entries_by_name_of_lock_dir lock_dir ~platform ~system_provided
@@ -1337,12 +1338,10 @@ module DB = struct
13371338
; system_provided : Package.Name.Set.t
13381339
}
13391340

1340-
let equal t t2 =
1341-
phys_equal t t2
1342-
||
1343-
let { pkg_digest_table; system_provided } = t2 in
1344-
Pkg_table.equal t.pkg_digest_table pkg_digest_table
1345-
&& Package.Name.Set.equal t.system_provided system_provided
1341+
let equal t ({ pkg_digest_table; system_provided } as t') =
1342+
phys_equal t t'
1343+
|| (Pkg_table.equal t.pkg_digest_table pkg_digest_table
1344+
&& Package.Name.Set.equal t.system_provided system_provided)
13461345
;;
13471346

13481347
let hash = `Do_not_hash
@@ -1435,8 +1434,7 @@ end = struct
14351434
&& DB.equal db t.db
14361435
;;
14371436

1438-
let hash { db; pkg_digest; universe } =
1439-
let _ = db in
1437+
let hash { db = _; pkg_digest; universe } =
14401438
Tuple.T2.hash Pkg_digest.hash Package_universe.hash (pkg_digest, universe)
14411439
;;
14421440

0 commit comments

Comments
 (0)