B000.GuardBuild operation guards.
A guard ensure that a build operation is allowed to proceed. This means either that:
Note. This module does not access the file system it trusts clients that call set_file_ready not to lie about its existence on the file system.
val create : unit -> tcreate () is a new guard.
val set_file_ready : t -> B00_std.Fpath.t -> unitset_file_ready g f indicates to g that file f is ready, i.e. that it exists and is up-to-date.
val set_file_never : t -> B00_std.Fpath.t -> unitset_file_never g f indicate to g that file f will never become ready.
allowed g is an operation that is either ready or aborted in g (if any). In the second case the Op.status is Op.status.Aborted.