diff options
| author | Emilio Jesus Gallego Arias | 2019-12-09 04:19:11 +0100 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2019-12-09 11:32:32 +0100 |
| commit | 6e505f039ca4583f75f57a340e155666d7115241 (patch) | |
| tree | 3ec6100ad5299a1d897026eb3b21033944d7494f /clib | |
| parent | 1f4f00062b83b88114657223895bb1a367bc3cff (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.ml | 6 |
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; |
