aboutsummaryrefslogtreecommitdiff
path: root/clib
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2019-12-09 04:19:11 +0100
committerEmilio Jesus Gallego Arias2019-12-09 11:32:32 +0100
commit6e505f039ca4583f75f57a340e155666d7115241 (patch)
tree3ec6100ad5299a1d897026eb3b21033944d7494f /clib
parent1f4f00062b83b88114657223895bb1a367bc3cff (diff)
[hashset] Don't use deprecated Obj.truncate
We follow the solution used upstream https://github.com/ocaml/ocaml/pull/2279 Fixes half of #10602
Diffstat (limited to 'clib')
-rw-r--r--clib/hashset.ml6
1 files changed, 4 insertions, 2 deletions
diff --git a/clib/hashset.ml b/clib/hashset.ml
index b7a245aed1..3477b615ef 100644
--- a/clib/hashset.ml
+++ b/clib/hashset.ml
@@ -118,8 +118,10 @@ module Make (E : EqType) =
t.table.(t.rover) <- emptybucket;
t.hashes.(t.rover) <- [| |];
end else begin
- Obj.truncate (Obj.repr bucket) (prev_len + 1) [@ocaml.alert "--deprecated"];
- Obj.truncate (Obj.repr hbucket) prev_len [@ocaml.alert "--deprecated"];
+ let newbucket = Weak.create prev_len in
+ Weak.blit bucket 0 newbucket 0 prev_len;
+ t.table.(t.rover) <- newbucket;
+ t.hashes.(t.rover) <- Array.sub hbucket 0 prev_len
end;
if len > t.limit && prev_len <= t.limit then t.oversize <- t.oversize - 1;
end;