Module Jenga_lib.Db.Proxy_map

type t
include sig ... end
val hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.state
val hash : t ‑> Base.Hash.hash_value
val compare : t ‑> t ‑> int
val empty : t
val single : Pm_key.t ‑> Proxy.t ‑> t
val group : t ‑> t
val of_alist : (Pm_key.t * Proxy.t) list ‑> (t, (Pm_key.t * Proxy.t list) list) Core.Result.t
val equal_or_witness : t ‑> t ‑> (unit, Pm_key.t list) Core.Result.t
val merge : t list ‑> (t, (Pm_key.t * Proxy.t list) list) Core.Result.t

Error means the proxy map is inconsistent. However, some inconsistent proxy maps are Ok.

val shallow_length : t ‑> int

The size of the dependencies, excluding the shared parts. Used to build profiling information.

val filesystem_assumptions : t ‑> [> `Dirs of Path.Rel.Hash_set.t ] * [> `Files of Path.Rel.Hash_set.t ] * [> `Arbitrary_files of Path.Rel.Hash_set.t ]

filesystem_assumptions t returns the set of things accessed via a relative path on the filesystem that have been used to construct t. `Dirs is the list of directories that must exist to reproduce t. `Files is the list of files that need to be read. `Arbitrary_files is the list of files that must exist to reproduce directory listings, but that don't need to be read.

module Group : sig ... end
val to_paths_for_mtimes_check : t ‑> Path.t list * Group.t list