-
1.1.1
- Add
Flatten
andUnflatten
traits for converting between nested arrays.
- Add
-
1.1.0
- Add
Remove
trait that addsremove
/swap_remove
toGenericArray
(inspired by #147) - Soft-deprecate
internals::ArrayBuilder
in favor ofinternals::IntrusiveArrayBuilder
- Add
-
1.0.1
- Update faster-hex dependency
- Mark
from_iter
as#[inline]
to significantly improve codegen.
-
1.0.0
- Use GATs for
ArrayLength
! - Bump MSRV to 1.65.0
- Use Rust 2021 edition #118 + non-PR upgrade later with GATs.
- Allow
arr!
macro inconst
#129 - Add
arr!
repeat-expressions #130 - Implement
const-default
trait support #131 - Make
as_slice()/from_slice()
const. - Add const
from_array
/into_array
methods. - Make
ArrayLength: 'static
- Replace
From<&[T]>
withTryFrom<&[T]>
- Add
try_from_iter
for fallible construction from iterator. - Use
typenum
'sconst-generics
feature forconst N: usize
-basedFrom
implementations between[T; N]
andGenericArray<T, N>
- Also added the
IntoArrayLength
trait andConstArrayLength
type-alias for working with typenum'sConst<N>
easier.
- Also added the
alloc
crate feature- Added
box_arr!
macro with the same syntax asarr!
, but returns aBox<GenericArray<T, N>>
- Moving between heap and stack
impl TryFrom<Vec<T>> for GenericArray<T, N>
impl TryFrom<Box<[T]>> for GenericArray<T, N>
impl From<GenericArray<T, N>> for Vec<T>
impl From<GenericArray<T, N>> for Box<[T]>
- Methods for converting between
Box<GenericArray<T, N>>
andVec<T>
/Box<[T]>
GenericSequence
andFunctionalSequence
implemented forBox<GenericArray<T, N>>
, allowing for heap-based manipulation of fixed-size arrays.
- Added
Deserialize
no longer requiresT: Default
- Make
IntoArrayLength
,MappedSequence
, andFunctionalSequence
safe traits. - Simplify
arr!
macro syntax.arr![1, 2, 3, 4]
orarr![T; N]
forms, no explicit length for first variant.- No longer casts given expressions internally.
- Type-deduction works similarly to
vec![]
, in that an empty array has an unknown type
- Add the
internals
Cargo feature to expose dangerous things. - Added additional methods for working with chunks of arrays.
- Added
From
impls for tuples with 1-12 (inclusive) items of the same type, matching the standard library. - Workaround potential Rust/LLVM regressions with
FunctionalSequence::zip()
/::map()
- Added the
faster-hex
optional dependency for SIMD-accelerated hex encoding - Improve documentation
- Use GATs for
-
0.14.6
-
0.14.5
- Fix unsoundness behavior in
GenericArrayIter::clone
(#120)
- Fix unsoundness behavior in
-
0.14.4
- Update
typenum
to1.12.0
- Make
Drop
a no-op when the inner type does not requireDrop
(usingcore::mem::needs_drop
)
- Update
-
0.14.3
- Improve behavior of
GenericArray::from_exact_iter
to assumeExactIterator
s can lie. - Fix alignment of zero-length
GenericArray
s - Implement
From<&[T; N]> for &GenericArray<T, N>
and its mutable variant
- Improve behavior of
-
0.14.2
- Lower MSRV to
1.36.0
withoutFrom<[T; N]>
implementations.
- Lower MSRV to
-
0.14.1
- Fix element conversions in
arr!
macro.
- Fix element conversions in
-
0.14.0
- Replace
Into
implementations with the more generalFrom
.- Requires minumum Rust version of 1.41.0
- Fix unsoundness in
arr!
macro. - Fix meta variable misuse
- Fix Undefined Behavior across the crate by switching to
MaybeUninit
- Improve some documentation and doctests
- Add
AsRef<[T; N]>
andAsMut<[T; N]>
impls toGenericArray<T, N>
- Add
Split
impl for&GenericArray
and&mut GenericArray
- Replace
-
0.13.2
- Add feature
more_lengths
, which adds moreFrom
/Into
implementations for arrays of various lengths.
- Add feature
-
0.13.1
- Mark
GenericArray
as#[repr(transparent)]
- Implement
Into<[T; N]>
forGenericArray<T, N>
up to N=32
- Mark
-
0.13.0
- Allow
arr!
to be imported with use syntax.- Requires minumum Rust version of 1.30.1
- Allow
-
0.12.2
- Implement
FusedIterator
forGenericArrayIter
- Implement
-
0.12.1
- Use internal iteration where possible and provide more efficient internal iteration methods.
-
0.12.0
- Allow trailing commas in
arr!
macro. - BREAKING: Serialize
GenericArray
usingserde
tuples, instead of variable-length sequences. This may not be compatible with old serialized data.
- Allow trailing commas in
-
0.11.0
- BREAKING Redesign
GenericSequence
with an emphasis on use in generic type parameters. - Add
MappedGenericSequence
andFunctionalSequence
- Implements optimized
map
,zip
andfold
forGenericArray
,&GenericArray
and&mut GenericArray
- Implements optimized
- BREAKING Remove
map_ref
,zip_ref
andmap_slice
map_slice
is now equivalent toGenericArray::from_iter(slice.iter().map(...))
- BREAKING Redesign
-
0.10.0
- Add
GenericSequence
,Lengthen
,Shorten
,Split
andConcat
traits. - Redefine
transmute
to avert errors.
- Add
-
0.9.0
- Rewrite construction methods to be well-defined in panic situations, correctly dropping elements.
NoDrop
crate replaced byManuallyDrop
as it became stable in Rust core.- Add optimized
map
/map_ref
andzip
/zip_ref
methods toGenericArray
-
0.8.0
- Implement
AsRef
,AsMut
,Borrow
,BorrowMut
,Hash
forGenericArray
- Update
serde
to1.0
- Update
typenum
- Make macro
arr!
non-cloning - Implement
From<[T; N]>
up toN=32
- Fix #45
- Implement
-
0.7.0
- Upgrade
serde
to0.9
- Make
serde
withno_std
- Implement
PartialOrd
/Ord
forGenericArray
- Upgrade
-
0.6.0
- Fixed #30
- Implement
Default
forGenericArray
- Implement
LowerHex
andUpperHex
forGenericArray<u8, N>
- Use
precision
formatting field in hex representation - Add
as_slice
,as_mut_slice
- Remove
GenericArray::new
in favor ofDefault
trait - Add
from_slice
andfrom_mut_slice
no_std
andcore
for crate.
-
0.5.0
- Update
serde
- remove
no_std
feature, fixed #19
- Update
-
0.4.0
- Re-export
typenum
- Re-export
-
0.3.0
- Implement
IntoIter
forGenericArray
- Add
map
method - Add optional
serde
(de)serialization support feature.
- Implement
-
< 0.3.0
- Initial implementation in late 2015