bluss
dadeedb787
FEAT: Proper Error impls for errors
...
Also use pub(crate), requiring Rust 1.18
2017-07-30 13:13:52 +02:00
bluss
79ccdcd910
FEAT: Copy RangeArgument from crate odds
...
This means odds is no longer a public dependency, which simplifies the
version story for arrayvec
2017-07-30 13:00:53 +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
bluss
29497206da
Merge pull request #55 from daboross/serde
...
Add serde support
2017-07-30 12:15:38 +02:00
bluss
600dc5c8b2
Merge pull request #53 from niklasf/push-unchecked
...
Factor out push_unchecked()
2017-07-30 12:07:15 +02:00
bluss
28b2543ae0
Remove failing test (with optimizations)
...
What the test was doing was simply UB and we can't expect rustc to make
sense of it. The test was failing with optimizations on, yet a closer look
says arrayvec is still working as it should. So remove the broken test.
2017-07-29 12:38:50 +02:00
bluss
2abdaf137e
Add apache license file
2017-07-29 00:46:31 +02:00
David Ross
6cd03dce8d
Add failure tests for serde implementations
...
Thanks to @camlorn for the idea.
2017-06-16 15:09:48 -07:00
David Ross
704f237282
Remove ambiguities in serde expecting messages.
2017-06-14 21:55:57 -07:00
David Ross
d4bed04908
Add Array implementation for 50, 100 and 200
...
The implementation for 50 would be useful for a use case of mine, if that's alright. 100 and 200 are added for completeness to match 50 existing.
2017-06-14 21:52:38 -07: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
Niklas Fiekas
12eee0677c
Debug assert capacity in push_unchecked()
2017-05-24 21:16:27 +02:00
Niklas Fiekas
1b6e0a3bfb
Use push_unchecked() for Extend
2017-05-13 23:51:17 +02:00
Niklas Fiekas
d0ebfcd51f
Factor out push_unchecked()
2017-05-13 23:51:17 +02:00
bluss
adf08656cc
Merge pull request #51 from tbu-/pr_arraystring_ord
...
Add `PartialOrd` and `Ord` implementation to `ArrayString`
2017-04-22 18:27:44 +02:00
Tobias Bucher
0c8f46796e
Add PartialOrd and Ord implementation to ArrayString
...
Fixes #50 .
2017-04-22 16:31:41 +02:00
bluss
d3c105563a
Add 0.3 branch to .travis
2017-03-25 15:20:44 +01:00
bluss
7721eff0d3
Merge pull request #49 from bluss/next-1
...
Prepare for next major version (Part 1)
2017-03-24 18:41:23 +00:00
bluss
f65ea92da4
Remove the optional generic-array feature
...
- It can be added back later if needed
- A public dependency implies version coupling, and we can't afford to
have it for a niche use case.
2017-03-24 18:57:39 +01:00
bluss
e6c090de88
New minimum Rust version
2017-03-24 18:50:57 +01:00
Tobias Bucher
49c69d440e
Ignore Cargo.lock in Git
...
This is a library project and should not check in its `Cargo.lock`.
Being in the `.gitignore` file helps achieve that.
http://doc.crates.io/faq.html#why-do-binaries-have-cargolock-in-version-control-but-not-libraries
2017-03-18 13:40:35 +01:00
bluss
738721a28d
arrayvec 0.3.21
2017-03-17 18:50:36 +01:00
bluss
805f28f0d7
nodrop 0.1.9
2017-02-23 20:34:49 +01:00
bluss
5bbda855e1
Merge pull request #44 from bluss/next
...
Use u8 field in the NoDrop Dropped variant
2017-02-23 19:34:20 +00:00
bluss
34459766c2
Use u8 field in the NoDrop Dropped variant
...
We need to ensure NoDrop<&T> and similar are not using the enum layout
optimization. Using an enum { Alive(T), Dropped(u8) } is a simple way to
do that. The NoDrop (non-unions version) was already always at least
1 byte large anyway.
2017-02-23 20:19:11 +01:00
bluss
da459bcf78
Add constructor ArrayString::from_byte_string(b"abc")
...
This is an alternative constructor that never has capacity errors.
Unfortunately the error case is invalid UTF-8!
2016-12-14 15:01:17 +01:00
bluss
3d69403dee
Use encode_utf8 from crate odds
2016-10-16 11:54:44 +02:00
bluss
d43c959fa8
0.3.20
2016-10-04 14:47:14 +02:00
bluss
7a7ec178b9
Fix ArrayString to implement .push(char) faster
...
Previously we used formatting, which is a virtual call and quite the
detour. Now copy the utf-8 encoding code from Rust (thank you Alex
Crichton) and use that.
2016-10-04 14:40:33 +02:00
bluss
f331bb1228
0.3.19
2016-09-28 11:13:15 +02:00
bluss
3d2dcb4252
Merge pull request #41 from bluss/generic-array
...
Support generic-array as arrayvec backend
2016-09-28 11:10:32 +02:00
bluss
60a97632bc
Support generic-array as arrayvec backend
2016-09-28 11:06:20 +02:00
bluss
82ab295554
0.3.18
2016-09-21 14:25:24 +02:00
bluss
b1369460e3
Merge pull request #39 from bluss/insert
...
Fix bounds checking in ArrayVec::insert(index, element)
2016-09-21 14:25:17 +02:00
bluss
2a1378d3eb
Fix bounds checking in ArrayVec::insert(index, element)
...
Must be `index <= len && index < capacity`
2016-09-21 14:21:07 +02:00
bluss
d86f06b068
Change the doc generation script
2016-09-08 11:51:11 +02:00
bluss
03683a1aae
Merge pull request #37 from bluss/next
...
Next versions
2016-09-08 11:46:50 +02:00
bluss
0c21d04a75
test use_union in travis
2016-09-08 11:46:26 +02:00
bluss
8785860ec4
arrayvec 0.3.17
2016-09-08 11:46:01 +02:00
bluss
c2f6156b42
nodrop-union 0.1.9
2016-09-08 11:46:01 +02:00
bluss
a91f077e8f
nodrop-union: Update docs
2016-09-08 11:46:01 +02:00
bluss
d4dfdea785
nodrop-union: Implement Copy, Clone on NoDrop<T>
...
Clone is not so important, but Copy is, since it's structural when
implemented, and adding the trait allows more versatile use of
NoDrop<T>.
Only the untagged unions version can implement Copy for NoDrop<T>, since
it truly has no destructor.
2016-09-08 11:46:01 +02:00
bluss
0327b0c164
nodrop: Fix warning for unused import
2016-09-06 19:20:14 +02:00
bluss
e9746bab80
nodrop and nodrop-union 0.1.8
2016-09-06 11:47:20 +02:00
bluss
0fdb35baaf
Merge pull request #36 from bluss/union
...
nodrop: Add nightly feature use_union
2016-09-06 11:46:10 +02:00
bluss
57348a2677
nodrop: Add nightly feature use_union
...
Use a separate crate (nodrop-union) so that we can conditionally use the
new union keyword without disrupting compatibility.
2016-09-06 11:41:47 +02:00
bluss
ddd09cf04d
Merge pull request #35 from shepmaster/is_full
...
Add is_full predicate methods
2016-08-26 12:26:10 +02:00
bluss
db3cc4ebf5
rm no_drop_flag in travis config too
2016-08-25 18:22:28 +02:00
bluss
5df5ee1847
nodrop: 0.1.7
2016-08-25 18:07:02 +02:00