Commit Graph

334 Commits

Author SHA1 Message Date
bluss 4dc503e17d MAINT: Add array sizes to travis build 2018-11-25 09:25:30 +01:00
bluss 50728e4cda DOC: Add doc for additional array features flags 2018-11-25 09:24:16 +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 813e9dde42 MAINT: Update readme files for nodrop crates
Fixes #107
2018-11-12 22:26:20 +01:00
bluss 08c20edbb0 nodrop 0.1.13 2018-11-12 22:22:53 +01:00
bluss 0b63772902 nodrop-union 0.1.10 2018-11-12 22:22:36 +01:00
bluss 916f6781e4 Merge pull request #104 from clarcharr/clone_into_iter
Implement Clone, Debug for IntoIter
2018-10-30 19:51:06 +01:00
Clar Fon 2d3c2e3a0f Test IntoIter::clone 2018-10-28 18:45:11 -04:00
Clar Fon 46b64537cb Implement Clone, Debug for IntoIter 2018-10-28 18:45:11 -04:00
Clar Charr 55bedc922a Make zero-capacity ArrayVec a zero-sized type. 2018-10-14 17:25:45 -04:00
gnzlbg 9f57879028 fix undefined behavior in DerefMut of ArrayString 2018-08-31 22:43:05 +02:00
bluss ac61ce748b TEST: Fix drop tests for older Rust
In the test, test with Vec first to see how Rust implements panic
recovery while elements drop. If Vec drops all the elements, then we
test that arrayvec does too.
2018-03-25 23:49:42 +02:00
bluss 9db64d5948 FIX: Fix a typo in a comment 2018-03-25 23:26:20 +02:00
bluss 602e55dc67 FEAT: Use drop_in_place for truncate and clear (and drop)
This should perform better in both release and debug mode.

NOTE: This is significant because it changes the drop order of the
elements, and how we handle panicking destructors. If just one of the
destructors panic during ArrayVec drop, clear or truncate, the rest of
the elements should still drop. If we encounter another panic during
that process, however, Rust will abort as usual for panic during
unwinding.
2018-03-25 23:26:20 +02:00
bluss 3f9cdc52cd TEST: Add test that we drop all elements even if one of them panics 2018-03-25 23:26:20 +02:00
bluss 16aabf7c2c DOC: Fix typo in insert doc 2018-02-10 21:57:36 +01:00
bluss c1b72500cd REFAC Use clone_from_slice, extend in ArrayVec::clone_from
This is just a cleanup of the code, with less repetition.
2018-02-06 19:29:15 +01:00
bluss 0872a5946c 0.4.7 2018-01-17 20:45:50 +01:00
bluss 2eeed4bae5 Merge pull request #90 from jeehoonkang/rust-1.12.1
Support Rust 1.13.0
2018-01-17 20:35:36 +01:00
bluss bb92d72fd5 Merge pull request #91 from bluss/future-compat
FIX: Fix future compat warning with pointer casts
2018-01-17 20:33:41 +01:00
bluss a903e1a770 FIX: Fix future compat warning with pointer casts
```
warning: the type of this value must be known in this context
   --> src/lib.rs:312:32
    |
312 |                 ptr::copy(p, p.offset(1), len - index);
    |                                ^^^^^^
    |
    = note: #[warn(tyvar_behind_raw_pointer)] on by default
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
```
2018-01-17 20:25:47 +01:00
Jeehoon Kang 3df64ccd50 Support Rust 1.13.0 2018-01-16 15:04:45 +09:00
bluss ef133ef960 FIX: Use drop_in_place in IntoIter's drop. 2017-12-03 21:57:38 +01:00
bluss 7a416ea146 MAINT: Use author name in copyright thing 2017-12-03 21:57:38 +01:00
bluss 807d64b89a Merge pull request #88 from ignatenkobrain/master
include LICENSE to sub-crates
2017-12-03 21:54:38 +01:00
Igor Gnatenko d281b3866d include LICENSE to sub-crates
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-12-03 21:23:58 +01:00
bluss b3e5b1e1ac 0.4.6 2017-11-04 11:57:17 +01:00
bluss 55e250adb7 Merge pull request #85 from bluss/conditional-16-bit-array-master
Fix 1 << 16 size array impl: only possible on bigger than 16-bit
2017-11-04 00:13:17 +01:00
bluss ce009233ae BUG: Fix 1 << 16 size array impl: only possible on bigger than 16-bit 2017-11-03 19:29:54 +01:00
bluss e95d440f54 DOC: Update readme, nodrop section is in its own directory already 2017-10-28 10:34:40 +02:00
bluss e364e2e79d 0.4.5 2017-10-27 22:54:46 +02:00
bluss a2e3fcea3f DOC: Minor fixes in docs, for ' → ’ 2017-10-27 22:54:46 +02:00
bluss db616eb9c5 Merge pull request #81 from bluss/no-odds-in-arrayvec
Remove odds dependency in arrayvec
2017-10-27 22:40:31 +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 4fe3e05997 nodrop 0.1.12 2017-10-27 21:51:45 +02:00
bluss 9d9250f462 Merge pull request #80 from bluss/no-odds-in-no-drop
nodrop: Remove odds dependency
2017-10-27 21:47:54 +02:00
Tobias Bucher 8a25e7f54e Merge pull request #79 from bluss/promise-debug-checks
Promise debug assertions for unsafe methods
2017-10-27 00:08:07 +02:00
bluss 7db0d5788f FEAT: nodrop: No odds dependency
Copy the required unreachable and debug assertion; saves us dependency
on odds.

We could also depend on crate unreachable, but that adds dep on
2 microcrates.
2017-10-26 22:35:15 +02:00
bluss 895d450366 DOC: Promise debug assertions for unsafe methods
Instead of being vague about it, we can promise it.

We continue to be a bit vague in ArrayString::set_len.  I don't see how
to add a char boundary check in ArrayString::set_len unfortunately.

It's a tricky issue, checking char boundaries requires reading the
memory of the string, and we don't even know if the user of set_len has
initialized that area of memory yet (but they hopefully did).
2017-10-26 19:27:47 +02:00
bluss f8a19cddd8 Merge pull request #78 from DenialAdams/master
Add pop, truncate, and remove functions to ArrayString.
2017-10-26 19:07:37 +02:00
Richard McCormack 187dd627e0 Add pop, truncate, and remove functions to ArrayString. Addresses #66 2017-10-26 12:57:14 -04:00
bluss 269a25cc41 nodrop 0.1.11 2017-10-23 21:38:27 +02:00
bluss a4411cf187 Merge pull request #77 from bluss/nodrop-size-test
[nodrop] Fix broken test
2017-10-23 21:08:31 +02:00
bluss 4414a01a26 BUG: [nodrop] Fix broken test
Fix a broken size test in nodrop; this test does not tell us about enum
layout optimizations.
2017-10-23 21:02:32 +02:00
bluss 75abbd6145 0.4.4 2017-10-21 14:01:46 +02:00
bluss acb0cf25e7 Merge pull request #75 from niklasf/truncate
Add ArrayVec::truncate()
2017-10-18 18:35:55 +02:00
Niklas Fiekas 5257cbd2b4 Add ArrayVec::truncate() 2017-10-18 18:14:07 +02:00
bluss ace20a9f43 DOC: Add docs for default values 2017-10-16 22:45:27 +02:00
bluss 9156256501 0.4.3 2017-10-16 22:39:28 +02:00