aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/future.ml2
-rw-r--r--lib/future.mli4
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/future.ml b/lib/future.ml
index b6cb498c61..c54b4e8dbe 100644
--- a/lib/future.ml
+++ b/lib/future.ml
@@ -50,7 +50,7 @@ and 'a computation = 'a comput ref
let create f x = ref (Ongoing (Ephemeron.create (f, Pervasives.ref x)))
let get x =
match !x with
- | Finished v -> (fun x -> x), ref( Val (v,None))
+ | Finished v -> id, ref( Val (v,None))
| Ongoing x ->
try Ephemeron.get x
with Ephemeron.InvalidKey -> (fun x -> x), ref (Exn NotHere)
diff --git a/lib/future.mli b/lib/future.mli
index 4f27767ba4..4dca2f1449 100644
--- a/lib/future.mli
+++ b/lib/future.mli
@@ -111,7 +111,9 @@ val chain : ?greedy:bool -> pure:bool ->
val force : 'a computation -> 'a
val compute : 'a computation -> 'a value
-(* Final call, no more *inpure* chain allowed since the state is lost *)
+(* Final call, no more *inpure* chain allowed since the state is lost.
+ * Also the fix_exn function is lost, hence error reporting can be incomplete
+ * in a computation obtained by chaining on a joined future. *)
val join : 'a computation -> 'a
(*** Utility functions ************************************************* ***)