diff --git a/_oasis b/_oasis index 3b4093d6..7c00af27 100644 --- a/_oasis +++ b/_oasis @@ -201,7 +201,7 @@ Executable run_qtest Install: false CompiledObject: best MainIs: run_qtest.ml - Build$: flag(tests) && flag(bigarray) && flag(unix) + Build$: flag(tests) && flag(bigarray) && flag(unix) && flag(advanced) BuildDepends: containers, containers.misc, containers.string, containers.iter, containers.io, containers.advanced, containers.sexp, containers.bigarray, containers.unix, diff --git a/benchs/run_benchs.ml b/benchs/run_benchs.ml index 5fa29837..257b092c 100644 --- a/benchs/run_benchs.ml +++ b/benchs/run_benchs.ml @@ -4,6 +4,7 @@ module B = Benchmark let (@>) = B.Tree.(@>) let (@>>) = B.Tree.(@>>) let (@>>>) = B.Tree.(@>>>) +let (|>) = CCFun.(|>) let app_int f n = string_of_int n @> lazy (f n) let app_ints f l = B.Tree.concat (List.map (app_int f) l) diff --git a/src/lwt/lwt_pipe.mli b/src/lwt/lwt_pipe.mli index 46702c78..fce6de12 100644 --- a/src/lwt/lwt_pipe.mli +++ b/src/lwt/lwt_pipe.mli @@ -74,20 +74,20 @@ type ('a, +'perm) t constraint 'perm = [< `r | `w] type ('a, 'perm) pipe = ('a, 'perm) t -val keep : _ t -> unit Lwt.t -> unit +val keep : (_,_) t -> unit Lwt.t -> unit (** [keep p fut] adds a pointer from [p] to [fut] so that [fut] is not garbage-collected before [p] *) -val is_closed : _ t -> bool +val is_closed : (_,_) t -> bool -val close : _ t -> unit Lwt.t +val close : (_,_) t -> unit Lwt.t (** [close p] closes [p], which will not accept input anymore. This sends [`End] to all readers connected to [p] *) -val close_async : _ t -> unit +val close_async : (_,_) t -> unit (** Same as {!close} but closes in the background *) -val wait : _ t -> unit Lwt.t +val wait : (_,_) t -> unit Lwt.t (** Evaluates once the pipe closes *) val create : ?max_size:int -> unit -> ('a, 'perm) t @@ -101,7 +101,7 @@ val connect : ?ownership:[`None | `InOwnsOut | `OutOwnsIn] -> @param own determines which pipes owns which (the owner, when it closes, also closes the ownee) *) -val link_close : _ t -> after:_ t -> unit +val link_close : (_,_) t -> after:(_,_) t -> unit (** [link_close p ~after] will close [p] when [after] closes. if [after] is closed already, closes [p] immediately *) diff --git a/src/misc/backtrack.ml b/src/misc/backtrack.ml index ccb25a85..db0d06d9 100644 --- a/src/misc/backtrack.ml +++ b/src/misc/backtrack.ml @@ -88,6 +88,7 @@ module Logical (P:Param) = struct | Zero e -> f e | Plus (a1, f1) -> plus a1 (fun e -> plus (f1 e) f) + | _ -> Plus (a, f) let split x = Split x