bluss
c3f2866bd3
Complete PartialOrd implementation
...
PartialOrd partialness requires all methods to be overridden to provide
consistent quirkyness with floats.
2015-09-10 15:13:26 +02:00
bluss
5b29055b5a
cleanup in insert
2015-09-10 15:10:04 +02:00
bluss
6bd31617b6
Remove redundant local
2015-09-10 15:10:04 +02:00
bluss
d2397e03ef
Merge pull request #11 from tbu-/pr_ord
...
Add `PartialOrd` and `Ord` implementation for `ArrayVec`
2015-09-10 15:09:06 +02:00
Tobias Bucher
1737a24e0d
Add PartialOrd and Ord implementation for ArrayVec
2015-09-10 13:51:47 +01:00
bluss
876c7c049b
Merge pull request #10 from tbu-/pr_default
...
Add `Default` implementation for `ArrayVec`
2015-09-10 14:32:20 +02:00
Tobias Bucher
32832aa0f2
Add Default implementation for ArrayVec
2015-09-10 13:04:30 +01:00
bluss
9afff02a69
Update doc style
...
Remove all headings in method docs
2015-08-21 15:32:55 +02:00
bluss
eaa884087d
Bump version
2015-08-21 14:58:24 +02:00
bluss
20500c5c6c
Merge pull request #6 from bluss/nodrop-restored
...
Use NoDrop to fix panic safety issues
2015-08-21 14:56:17 +02:00
bluss
ee3d164895
Update doc generation for having nodrop as a dependency
2015-08-21 14:54:33 +02:00
bluss
c35760e02c
Use NoDrop to fix panic safety issues
...
ArrayVec::drop was not panic safe — if there would be a panic during an
element's drop, the discriminant would never be set to Dropped, and the
array elements would potentially double drop.
Fix this by going back to the old NoDrop composition. The NoDrop struct
thas its own Drop impl, that will trigger too on panic during an element's
drop. This serves to make ArrayVec::drop panic safe.
Also tweak IntoIter::drop to make it panic safe: set inner ArrayVec's
length before dropping any elements.
Thank you to @Stebalien for reporting this bug and providing the
excellent testcases in this commit.
Using NoDrop expands ArrayVec to have two drop flags again, but this
is a temporary tradeoff, drop flags will eventually go away.
Fixes #3
2015-08-20 22:33:01 +02:00
bluss
804fb9692a
Add cargo test --release to the travis run
2015-08-20 22:26:49 +02:00
root
b6d4d82808
arrayvec: Bump version
2015-07-30 16:52:55 +02:00
root
9e4bac559c
arrayvec: Make nodrop purely a dev-dependency
...
We generate docs for it, but we don't need it.
2015-07-30 16:51:07 +02:00
root
d4612de8f4
Add custom.css for docs
2015-07-30 16:49:57 +02:00
bluss
235320e393
Merge pull request #1 from bluss/nodrop
...
Nodrop
2015-07-30 16:19:57 +02:00
root
d3728b654e
Bump version
2015-07-30 16:16:42 +02:00
root
cf273fec1f
Use a non-dropping enum directly
...
Don't use NoDrop as a separate abstraction: Then we have two drop flags,
one for ArrayVec and one for NoDrop. Instead import the logic from
NoDrop. The result is a much smaller ArrayVec value.
2015-07-30 16:14:04 +02:00
root
3634fa4633
Bump version
2015-06-22 16:39:52 +02:00
root
5c50c4dbc7
Add method .into_inner()
2015-06-22 16:35:21 +02:00
root
66d5d9a12e
Expose ArrayVec::set_len as a pub unsafe method
2015-06-22 00:17:23 +02:00
root
5ae6e1aadc
arrayvec: Use odds 0.2 and bump version
2015-06-14 14:53:05 +02:00
root
221bfd9aa0
nodrop: Use newer odds & Bump version
2015-06-14 14:52:48 +02:00
root
1e97bde46a
Makefile: proper versioning of all crates in docs
2015-06-14 14:48:17 +02:00
root
ad22698464
arrayvec: Use odds & bump version
2015-06-02 17:30:59 +02:00
root
7c92874782
nodrop: Use odds & bump version
2015-06-02 17:28:04 +02:00
root
48fdc7e651
nodrop: Bump version
2015-05-26 17:10:02 +02:00
root
09cf5168f9
nodrop: Add no_drop_flag optional feature
2015-05-26 17:05:42 +02:00
root
07e497a2be
arrayvec: Bump version
2015-05-25 13:46:26 +02:00
root
6081270cf3
Order & group methods logically for docs
2015-05-25 13:46:26 +02:00
root
196a9d60b6
Move tests to tests/ directory
2015-05-25 02:35:52 +02:00
root
11a864b6f7
Add test for Option<ArrayVec<_>> to be sure
2015-05-25 02:26:32 +02:00
root
8a154e9847
Use set_len() consistently and code cleanup
2015-05-25 00:26:17 +02:00
root
6d02ab3980
Test that Option<Flag<T>> doesn't apply any layout optimization
2015-05-24 23:53:02 +02:00
root
0e00fbccf1
Bump version
2015-05-23 13:04:03 +02:00
root
3d579a626d
Improve .insert()'s removal of the last element
2015-05-23 12:53:35 +02:00
root
1eec0d4834
Make sure the methods on RangeArgument can be inlined
2015-05-23 12:43:45 +02:00
root
3175d97f80
Implement ArrayVec::clear
2015-05-23 03:12:38 +02:00
root
e91a018220
Bump version
2015-05-23 01:07:50 +02:00
root
be2979d87a
Make sure methods in helper trait Index are inlined
2015-05-23 00:52:26 +02:00
root
37c0f53708
Add another testcase to insert
2015-05-23 00:52:26 +02:00
root
d8d21dc14c
Bump version
2015-05-22 20:22:50 +02:00
root
ebf260ea90
Implement ArrayVec::insert
2015-05-22 20:18:01 +02:00
root
d3b3fc16fb
Implement array sizes in the 16-bit index range
2015-05-22 20:16:41 +02:00
root
a268a5e25c
Bump arrayvec version
2015-05-22 14:28:03 +02:00
root
b4413e95b9
Bump nodrop version
2015-05-22 14:25:21 +02:00
root
8f8db4a3ed
Implement ArrayVec::remove() and ::drain()
2015-05-22 14:22:43 +02:00
root
33e31b8ecf
Implement ArrayVec::swap_remove
2015-05-22 13:49:44 +02:00
root
1b42f992ed
Move Array trait to separate file
...
Also remove the ::new() method on the trait
2015-05-22 13:26:01 +02:00