diff --git a/src/core/task_local_storage.ml b/src/core/task_local_storage.ml index 7cb40105..0504d5be 100644 --- a/src/core/task_local_storage.ml +++ b/src/core/task_local_storage.ml @@ -44,8 +44,9 @@ let get (type a) ((module K) : a key) : a = let set (type a) ((module K) : a key) (v : a) : unit = let cur = get_cur_ () in - if K.offset >= Array.length !cur then resize_ cur K.offset; - !cur.(K.offset) <- K.V v + if K.offset >= Array.length !cur then resize_ cur (K.offset + 1); + !cur.(K.offset) <- K.V v; + () let with_value key x f = let old = get key in