summaryrefslogtreecommitdiff
path: root/stdlib/weak.ml
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/weak.ml')
-rw-r--r--stdlib/weak.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/stdlib/weak.ml b/stdlib/weak.ml
index 1746574f2d..cce9a3a3ed 100644
--- a/stdlib/weak.ml
+++ b/stdlib/weak.ml
@@ -19,13 +19,17 @@ type 'a t
external create : int -> 'a t = "caml_weak_create"
+(** number of additional values in a weak pointer
+ * - Link
+ * - Domain
+ * - Data *)
+let additional_values = 3 (* CAML_EPHE_FIRST_KEY in weak.h *)
+
let create l =
if not (0 <= l && l <= Obj.Ephemeron.max_ephe_length) then
invalid_arg("Weak.create");
create l
-(** number of additional values in a weak pointer *)
-let additional_values = 2
let length x = Obj.size(Obj.repr x) - additional_values