mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-01-21 08:46:41 -05:00
prepare for 3.17
This commit is contained in:
parent
d4fdff884f
commit
5461dcc07a
6 changed files with 63 additions and 34 deletions
11
CHANGELOG.md
11
CHANGELOG.md
|
|
@ -1,4 +1,15 @@
|
|||
|
||||
|
||||
## 3.17
|
||||
|
||||
- feat: add `CCAtomic.update_cas`
|
||||
- feat: add `Pvec.flat_map`
|
||||
- faster `List.take_drop` thanks to a trick by nojb
|
||||
|
||||
- move to ocamlformat 0.27, format code
|
||||
- test: enrich pvec test
|
||||
- Patch CBor roundtrip property to hold for nan's too (thanks @jmid)
|
||||
|
||||
## 3.16
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# This file is generated by dune, edit dune-project instead
|
||||
opam-version: "2.0"
|
||||
version: "3.15"
|
||||
version: "3.17"
|
||||
synopsis: "A set of advanced datatypes for containers"
|
||||
maintainer: ["c-cube"]
|
||||
authors: ["c-cube"]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# This file is generated by dune, edit dune-project instead
|
||||
opam-version: "2.0"
|
||||
version: "3.15"
|
||||
version: "3.17"
|
||||
synopsis:
|
||||
"A modular, clean and powerful extension of the OCaml standard library"
|
||||
maintainer: ["c-cube"]
|
||||
|
|
|
|||
44
dune-project
44
dune-project
|
|
@ -1,41 +1,59 @@
|
|||
(lang dune 3.0)
|
||||
|
||||
(name containers)
|
||||
|
||||
(generate_opam_files true)
|
||||
|
||||
(version 3.15)
|
||||
(version 3.17)
|
||||
|
||||
(authors c-cube)
|
||||
|
||||
(maintainers c-cube)
|
||||
|
||||
(license BSD-2-Clause)
|
||||
|
||||
(homepage "https://github.com/c-cube/ocaml-containers/")
|
||||
(source (github c-cube/ocaml-containers))
|
||||
|
||||
(source
|
||||
(github c-cube/ocaml-containers))
|
||||
|
||||
(package
|
||||
(name containers)
|
||||
(synopsis "A modular, clean and powerful extension of the OCaml standard library")
|
||||
(tags (stdlib containers iterators list heap queue))
|
||||
(synopsis
|
||||
"A modular, clean and powerful extension of the OCaml standard library")
|
||||
(tags
|
||||
(stdlib containers iterators list heap queue))
|
||||
(depends
|
||||
(ocaml (>= 4.08))
|
||||
(ocaml
|
||||
(>= 4.08))
|
||||
either
|
||||
dune-configurator
|
||||
(qcheck-core (and (>= 0.18) :with-test))
|
||||
(qcheck-core
|
||||
(and
|
||||
(>= 0.18)
|
||||
:with-test))
|
||||
(yojson :with-test)
|
||||
(iter :with-test)
|
||||
(gen :with-test)
|
||||
(csexp :with-test)
|
||||
(uutf :with-test)
|
||||
(odoc :with-doc))
|
||||
(depopts
|
||||
base-unix
|
||||
base-threads))
|
||||
(depopts base-unix base-threads))
|
||||
|
||||
(package
|
||||
(name containers-data)
|
||||
(synopsis "A set of advanced datatypes for containers")
|
||||
(tags (containers RAL function vector okasaki))
|
||||
(tags
|
||||
(containers RAL function vector okasaki))
|
||||
(depends
|
||||
(ocaml (>= 4.08))
|
||||
(containers (= :version))
|
||||
(qcheck-core (and (>= 0.18) :with-test))
|
||||
(ocaml
|
||||
(>= 4.08))
|
||||
(containers
|
||||
(= :version))
|
||||
(qcheck-core
|
||||
(and
|
||||
(>= 0.18)
|
||||
:with-test))
|
||||
(iter :with-test)
|
||||
(gen :with-test)
|
||||
(mdx :with-test)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ let[@inline never] decr r =
|
|||
[let res, x = f !atomic in atomic := x; res]
|
||||
done atomically. [f] might be called multiple times and must be as cheap
|
||||
as possible.
|
||||
@since NEXT_RELEASE *)
|
||||
@since 3.17 *)
|
||||
let update_cas (type res) (self : 'a t) (f : 'a -> res * 'a) : res =
|
||||
let exception Ret of res in
|
||||
let backoff = ref 1 in
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ val map : ('a -> 'b) -> 'a t -> 'b t
|
|||
val flat_map : ('a -> 'b t) -> 'a t -> 'b t
|
||||
(** A basic, fairly slow [flat_map] operation like {!CCList.flat_map}.
|
||||
It exists for convenience but is not where this data structure shines.
|
||||
@since NEXT_RELEASE *)
|
||||
@since 3.17 *)
|
||||
|
||||
val choose : 'a t -> 'a option
|
||||
(** Return an element. It is unspecified which one is returned. *)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue