Commit Graph

378 Commits

Author SHA1 Message Date
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
bluss af8f6b5d6e nodrop: Remove the no_drop_flag crate feature
This unstable feature is not supported in nightly anymore (and nor is it
meaningful).
2016-08-25 16:21:57 +02:00
Jake Goulding b0bf84b201 Add is_full predicate methods 2016-05-28 10:03:54 -04:00
bluss a41ecc0a29 Bump arrayvec to 0.3.16 2016-03-01 00:06:45 +01:00
bluss ab2d441153 Merge pull request #31 from bluss/as-slice
Add .as_slice(), .as_mut_slice(), .as_str()
2016-03-01 00:04:32 +01:00
bluss 8d30739409 Add .as_slice(), .as_mut_slice(), .as_str()
Vec and String now have these, so we do too to follow convention.
2016-02-29 23:53:52 +01:00
bluss cb2c2708c3 Merge pull request #30 from bluss/retain-plus
Add .retain()
2016-02-18 00:45:24 +01:00
bluss c5589aecdf Add .retain() method
Based on "retain_mut" as discussed for vec: we can provide &mut to the
element to remove effortlessly.
2016-02-18 00:34:40 +01:00
bluss 49be63d9b8 arrayvec: Reorder method pop 2016-02-17 23:08:46 +01:00