bluss
902114f62f
Merge pull request #157 from AnderEnder/remove-deprecated-error-description
...
Remove deprecated Error::description
2020-03-15 21:27:36 +01:00
bluss
c61da29426
Merge pull request #156 from RalfJung/miri
...
enable another unwinding test in Miri
2020-03-15 21:26:04 +01:00
Andrii Radyk
2755d4acb3
remove deprecated Error::description
2020-01-04 00:50:35 +01:00
Ralf Jung
b7fd8d6a22
enable another unwinding test in Miri
2019-12-07 12:13:31 +01:00
bluss
4f0faaf027
Merge pull request #155 from RalfJung/miri
...
Miri now supports catching panics
2019-12-06 11:54:48 +01:00
Ralf Jung
7ae9e2cd1f
Miri now supports catching panics
2019-12-06 09:43:14 +01:00
bluss
badc118d6a
Merge pull request #143 from nicbn/is_empty
...
Add is_empty method for ArrayVec and ArrayString
2019-11-20 18:59:17 +01:00
bluss
481c8ab683
Merge pull request #144 from RalfJung/miri
...
fix drain_range in Miri and add Miri to CI
2019-11-20 18:57:16 +01:00
bluss
3095e0e4e3
Merge pull request #146 from Phlosioneer/patch-1
...
Fix outdated comment
2019-11-20 18:56:09 +01:00
Phlosioneer
33d5d2ed96
Fix outdated comment
...
Comment referenced NoDrop which is no longer used.
2019-11-20 02:03:05 -05:00
Ralf Jung
9ed6941a51
run miri on CI
2019-11-16 09:52:18 +01:00
Ralf Jung
9beb753473
fix aliasing in drain_range
2019-11-16 09:52:18 +01:00
nicbn
633c863b0a
Add is_empty method for ArrayVec and ArrayString
2019-11-14 18:58:22 -03:00
bluss
fc6664c540
DOC: Fix typo in README
2019-10-09 16:43:40 +02:00
bluss
6905bdbb8a
0.5.1
2019-10-09 16:40:12 +02:00
bluss
618d027f71
Merge pull request #138 from bluss/array-string
...
Fix ArrayString encode_utf8 to use raw pointers
2019-10-09 12:42:14 +02:00
bluss
090a5c50cb
FIX: Support uninitalized data in encode_utf8, and update try_push
...
We were using &mut [u8] in encode_utf8, but this is not right according
to the developing unsafe coding guidelines. We need to use raw pointers
to write to possibly uninit memory.
We use a raw pointer form for encode_utf8. It was first attempted to
encapsulate the trusted-to-be-valid raw pointer in a simple { *mut u8,
usize } struct, but the current way of passing ptr and len separately
was the only way to not regress performance.
This impl maintains the same performance in arraystring benches.
Add exhaustive-style tests for encode_utf8
2019-10-09 12:23:44 +02:00
bluss
f665142854
FEAT: Add ArrayString::len
...
This method is no new feature, but it saves us from going through deref
to str to fetch the length.
2019-10-09 12:21:25 +02:00
bluss
05667bb860
MAINT: Add debug info to profiles (for bench/profiling)
2019-10-09 12:21:25 +02:00
bluss
b7b8cf8777
Merge pull request #137 from bluss/various
...
Combined fixes: Adjust inlining, and Fix usage of `get_unchecked_mut`.
2019-10-09 10:47:21 +02:00
bluss
fd72321191
FIX: Replace uses of <[T]>::get_unchecked_mut with raw pointer accessor
...
This is a soundness fix w.r.t unsafe coding guidelines.
In some of the instances, `get_unchecked_mut() -> &mut T as *mut T` was
used in places where the element was potentially uninitialized.
This was a problem in push. (Not a problem in IntoIter next/next_back,
where the whole range we're iterating is initialized).
2019-10-09 10:09:07 +02:00
bluss
1483c6d372
FIX: Adjust (mostly remove) inline directives
...
Using the following principles:
- Trivial methods (empty and simple constants) can be inline(always)
- Generic methods don't need any inlining directive at all.
..with the exception of Deref which just seems to be extra important.
- Non-generic items use #[inline] to enable inlining at the
compiler's discretion.
2019-10-09 10:02:20 +02:00
bluss
bf64376f91
API: Deprecate .dispose(), it no longer has a purpose without nodrop
2019-10-09 09:39:49 +02:00
bluss
2a376d966d
Merge branch 'nodrop-updates'
2019-10-09 09:34:43 +02:00
bluss
c110696a96
nodrop, nodrop-union: Mark deprecated
...
With the release of arrayvec 0.5, these crates are unused.
With the release of Rust 1.36 and MaybeUninit, these crates have no
purpose (but for older Rust releases).
2019-10-09 09:33:13 +02:00
bluss
58eee6aea5
Merge pull request #136 from tbu-/pr_asptr
...
Add `as_{,mut_}ptr` functions to `ArrayVec`, mirroring `Vec`
2019-10-05 21:11:11 +02:00
Tobias Bucher
516f1511f6
Add as_{,mut_}ptr functions to ArrayVec, mirroring Vec
...
Fixes #135 .
2019-10-05 21:01:58 +02:00
bluss
8c3634ae9e
Merge pull request #133 from mathstuf/target-as-symlink
...
gitignore: ignore target as a symlink
2019-10-04 21:20:43 +02:00
Ben Boeckel
84b5a04522
gitignore: ignore target as a symlink
2019-10-01 19:16:39 -04:00
bluss
87ad71366c
DOC: Update README
2019-09-25 15:15:43 +02:00
bluss
ea591bc2de
0.5.0
2019-09-25 15:13:50 +02:00
bluss
70a9ad67af
DOC: Copyedit the Array doc comment again
2019-09-25 14:48:16 +02:00
bluss
abf1bb5a0a
TEST: Update .travis for serde-1 to serde rename
2019-09-25 14:46:32 +02:00
bluss
46ba20ed38
DOC: Update Readme for 0.5
2019-09-25 14:45:35 +02:00
bluss
babae41d21
DOC: Add safety documentation on Array trait
2019-09-25 14:43:21 +02:00
bluss
ba4d98c5c7
TEST: Update tests for passing without std feature
2019-09-25 14:37:06 +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
8c3dfbc2b8
Merge pull request #132 from bluss/range-bounds
...
Use RangeBounds for .drain()'s range argument
2019-09-17 22:13:08 +02:00
bluss
75a6fcdc17
Merge pull request #131 from bluss/rust-2018
...
Update to Rust 2018
2019-09-17 21:34:09 +02:00
bluss
aece292b6c
API: Use RangeBounds for .drain()'s range argument
2019-09-17 21:33:32 +02:00
bluss
062247818a
FIX: Remove unused cfg variable
2019-09-02 22:08:00 +02:00
bluss
e86a32d454
MAINT: Port to Rust 2018 edition
2019-09-02 22:07:30 +02:00
bluss
f952e2c788
MAINT: Use ? operator instead of try!() macro
2019-09-02 22:06:20 +02:00
bluss
c7424b8113
Merge pull request #129 from bluss/prepare-0.5
...
Always use MaybeUninit and stop using nodrop fallback, prepare next release
2019-09-02 22:03:33 +02:00
bluss
470cfd2a48
FIX: Update serde impls for Array changes
2019-09-01 14:48:14 +02:00
bluss
7c33afb3ae
DOC: Update min rust version to Rust 1.36 for MaybeUninit
2019-09-01 14:48:14 +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
ba94336265
DOC: Draft release note for 0.5
2019-09-01 14:47:44 +02:00
bluss
f2aad9f9a7
API: Update ArrayExt's methods to expose slices instead of pointers
...
This is a nicer and simpler interface to expose, since the ref to uninit
array to pointer cast is not usable anyway (it's historic now, arrayvec
itself does not use it anymore).
2019-09-01 14:47:44 +02:00
bluss
6ed5b7b67f
Merge pull request #130 from bluss/fix-extend-zst
...
Fix .extend() for arrays of zero-sized type elements
2019-09-01 14:30:54 +02:00