85 Commits

Author SHA1 Message Date
wub 77041876ee Add len_u16 and len_u8 features. 2026-05-24 10:31:01 -07:00
Ulrik Sverdrup 0aede877fe 0.7.6 2024-08-17 14:13:49 +02:00
Ulrik Sverdrup f3732a0b4c 0.7.5 2024-08-17 14:40:27 +03:00
Ulrik Sverdrup 201d23a485 Set rust-version in Cargo.toml 2024-07-30 21:12:33 +02:00
Mateusz Kowalczyk 4337b1bdd7 Optional support for borsh serialization 2024-03-07 21:11:18 +01:00
Ulrik Sverdrup 2c92a59bed 0.7.4 2023-06-17 21:58:14 +02:00
bluss 2cd12ef4be Merge pull request #240 from elichai/zeroize
Optionally implement Zeroize on ArrayVec/ArrayString
2023-06-15 11:03:37 +02:00
Elichai Turkel bb9279e2a6 Optionally implement Zeroize on ArrayVec/ArrayString 2023-06-13 22:03:50 +03:00
Ulrik Sverdrup 4ab6d63958 0.7.3 2023-06-12 21:39:49 +02:00
bluss 67ec907a98 0.7.2 2021-10-28 18:53:54 +02:00
bluss 0c866b32f0 0.7.1 2021-06-05 15:13:37 +02:00
bluss 5685049fbe 0.7.0 2021-03-29 22:10:04 +02:00
bluss 198a403194 0.6.1 2021-03-29 17:36:54 +02:00
bluss f74f3d2b02 0.6.0 2021-03-24 23:50:45 +01:00
bluss c751c2204f Remove old Array and Index traits 2021-03-23 18:22:12 +01:00
bluss d336f8c5c5 0.5.2 2020-10-23 18:31:24 +02:00
Mara Bos fe70c23e94 Add unstable-const-fn feature to make new() functions const. 2020-06-30 20:56:00 +02:00
bluss 6905bdbb8a 0.5.1 2019-10-09 16:40:12 +02:00
bluss 05667bb860 MAINT: Add debug info to profiles (for bench/profiling) 2019-10-09 12:21:25 +02:00
bluss ea591bc2de 0.5.0 2019-09-25 15:13:50 +02:00
bluss cac792e633 API: Rename feature flag serde-1 to serde
(Old concerns don't matter anymore, especially with renamed deps.)
2019-09-25 14:34:08 +02:00
bluss e86a32d454 MAINT: Port to Rust 2018 edition 2019-09-02 22:07:30 +02:00
bluss 8093e8d886 FEAT: Switch to using MaybeUninit for everything
Use std::mem::MaybeUninit and stop using nodrop as a fallback.
This means we require Rust 1.36
2019-09-01 14:48:14 +02:00
bluss e68c0c7b48 Merge branch '0.4' into master
* 0.4:
  0.4.11
  TEST: Update tests for new MaybeUninit usage
  FEAT: Use stable MaybeUninit when we can (feature detected)
2019-07-10 17:51:59 +02:00
bluss 9792502792 0.4.11 2019-07-10 17:24:40 +02:00
bluss cffdb4602a Merge branch '0.4' of https://github.com/bluss/arrayvec
* '0.4' of https://github.com/bluss/arrayvec:
  0.4.10
  FIX: Remove unused Copy/Clone for MaybeUninit
  FIX: Use repr(C) MaybeUninit after discussion with RalfJung
2018-12-22 20:05:42 +01:00
bluss 21661facf8 0.4.10 2018-12-22 20:04:03 +01:00
bluss c4b95279e9 MAINT: Remove feature with no effect ("use_union") 2018-12-16 18:32:14 +01:00
bluss 2316b85fbc 0.4.9 2018-12-16 18:02:49 +01:00
bluss 29012231a8 FEAT: Implement a "MaybeUninit" and use it conditionally
Use a build script to detect if we can use MaybeUninit or NoDrop.
Enabling unstable features automatically is not ideal, but since it's
a soundness issue we should do it.

Use a MaybeUninit-like union on nightly when we can. We use a feature
detection script in build.rs, so that we also go back to the fallback if
the unstable feature changes in an unexpected way.

We need to continue to use NoDrop for best working stable
implementation, but we eagerly use our union solution where we can,
currently only in nightlies.

Rustc feature probe code written by Josh Stone (cuviper),
taken from num-bigint.
2018-12-15 15:12:03 +01:00
bluss c8d12cecb3 0.4.8 2018-11-25 09:46:33 +01:00
bluss f1d73f4feb FEAT: Add array sizes 33 to 128 and 129 to 255 under feature flags
This way we cover all users up to 256 at least. The reason these are not
enabled by default is that they slow down the compilation of the crate
by a factor of 2-3x.
2018-11-25 09:22:51 +01:00
bluss 0872a5946c 0.4.7 2018-01-17 20:45:50 +01:00
bluss b3e5b1e1ac 0.4.6 2017-11-04 11:57:17 +01:00
bluss e364e2e79d 0.4.5 2017-10-27 22:54:46 +02:00
bluss 4195f1a741 FEAT: Benchmarks for arraystring.try_push / push
These benches inform encode_utf8 changes, if any.
2017-10-27 22:31:49 +02:00
bluss 456aeaf557 FEAT: Remove odds dependency in arrayvec
Copy the encode_utf8 function from odds. std encode_utf8 requires Rust
1.15 and has a different signature, this one seems to fit us better.
2017-10-27 22:31:49 +02:00
bluss 75abbd6145 0.4.4 2017-10-21 14:01:46 +02:00
bluss 9156256501 0.4.3 2017-10-16 22:39:28 +02:00
bluss 0c7aebe2dd MAINT: Don't depend on odds/std or nodrop/std
We don't have any reason to ask for std in odds (anymore, long after
Rust 1.6 now).
2017-10-16 22:03:55 +02:00
bluss af8b746fc4 FEAT: Add benchmarks for .extend() 2017-10-08 17:31:05 +02:00
bluss 6a7445f2dd 0.4.2 2017-09-24 18:11:01 +02:00
bluss 1a202a904e 0.4.1 2017-09-11 21:15:25 +02:00
bluss f33c4e44dd DOC: Mention serde-1 feature 2017-09-11 19:43:54 +02:00
bluss cea481f494 0.4.0 2017-08-08 21:07:02 +02:00
bluss 2919af394e MAINT: Add crate categories 2017-08-06 18:21:05 +02:00
bluss 707ddc3224 MAINT: Use serde-1 feature in docs.rs 2017-07-30 14:15:34 +02:00
bluss 5dcb5ab2c7 FEAT: Change .insert() and .remove() to match Vec
- Add try_insert / try_remove to be the old fallible variants that
  return errors
- Insert that pushes out if full does no longer exist -- full vec is an
  error
2017-07-30 12:57:28 +02:00
David Ross 1b0168bb6f Change feature name from 'serde' to 'serde-1'. 2017-06-08 12:02:21 -07:00
David Ross 21cd20ff26 Add 'serde' feature for serializing and deserializing ArrayVec and ArrayString.
This implements serde support under the optional 'serde' feature, and adds unit tests to test said support.
https://serde.rs/unit-testing.html used as a guide for the unit tests - using 'serde_test' makes for much
less boilerplate here, but it does require that the project have a non-optional dev dependency on 'serde_test'.
2017-06-08 01:42:34 -07:00