-
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-defaulttrait support #131 - Make
as_slice()/from_slice()const. - Add const
from_array/into_arraymethods. - Make
ArrayLength: 'static - Replace
From<&[T]>withTryFrom<&[T]> - Add
try_from_iterfor fallible construction from iterator. - Use
typenum'sconst-genericsfeature forconst N: usize-basedFromimplementations between[T; N]andGenericArray<T, N>- Also added the
IntoArrayLengthtrait andConstArrayLengthtype-alias for working with typenum'sConst<N>easier.
- Also added the
alloccrate 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]> GenericSequenceandFunctionalSequenceimplemented forBox<GenericArray<T, N>>, allowing for heap-based manipulation of fixed-size arrays.
- Added
Deserializeno longer requiresT: Default- Make
IntoArrayLength,MappedSequence, andFunctionalSequencesafe 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
internalsCargo feature to expose dangerous things. - Added additional methods for working with chunks of arrays.
- Added
Fromimpls for tuples with 1-12 (inclusive) items of the same type, matching the standard library. - Workaround potential Rust/LLVM regressions with
FunctionalSequence::zip()/::map() - 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
typenumto1.12.0 - Make
Dropa no-op when the inner type does not requireDrop(usingcore::mem::needs_drop)
- Update
-
0.14.3- Improve behavior of
GenericArray::from_exact_iterto assumeExactIterators can lie. - Fix alignment of zero-length
GenericArrays - Implement
From<&[T; N]> for &GenericArray<T, N>and its mutable variant
- Improve behavior of
-
0.14.2- Lower MSRV to
1.36.0withoutFrom<[T; N]>implementations.
- Lower MSRV to
-
0.14.1- Fix element conversions in
arr!macro.
- Fix element conversions in
-
0.14.0- Replace
Intoimplementations 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
Splitimpl for&GenericArrayand&mut GenericArray
- Replace
-
0.13.2- Add feature
more_lengths, which adds moreFrom/Intoimplementations for arrays of various lengths.
- Add feature
-
0.13.1- Mark
GenericArrayas#[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
FusedIteratorforGenericArrayIter
- 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
GenericArrayusingserdetuples, instead of variable-length sequences. This may not be compatible with old serialized data.
- Allow trailing commas in
-
0.11.0- BREAKING Redesign
GenericSequencewith an emphasis on use in generic type parameters. - Add
MappedGenericSequenceandFunctionalSequence- Implements optimized
map,zipandfoldforGenericArray,&GenericArrayand&mut GenericArray
- Implements optimized
- BREAKING Remove
map_ref,zip_refandmap_slicemap_sliceis now equivalent toGenericArray::from_iter(slice.iter().map(...))
- BREAKING Redesign
-
0.10.0- Add
GenericSequence,Lengthen,Shorten,SplitandConcattraits. - Redefine
transmuteto avert errors.
- Add
-
0.9.0- Rewrite construction methods to be well-defined in panic situations, correctly dropping elements.
NoDropcrate replaced byManuallyDropas it became stable in Rust core.- Add optimized
map/map_refandzip/zip_refmethods toGenericArray
-
0.8.0- Implement
AsRef,AsMut,Borrow,BorrowMut,HashforGenericArray - Update
serdeto1.0 - Update
typenum - Make macro
arr!non-cloning - Implement
From<[T; N]>up toN=32 - Fix #45
- Implement
-
0.7.0- Upgrade
serdeto0.9 - Make
serdewithno_std - Implement
PartialOrd/OrdforGenericArray
- Upgrade
-
0.6.0- Fixed #30
- Implement
DefaultforGenericArray - Implement
LowerHexandUpperHexforGenericArray<u8, N> - Use
precisionformatting field in hex representation - Add
as_slice,as_mut_slice - Remove
GenericArray::newin favor ofDefaulttrait - Add
from_sliceandfrom_mut_slice no_stdandcorefor crate.
-
0.5.0- Update
serde - remove
no_stdfeature, fixed #19
- Update
-
0.4.0- Re-export
typenum
- Re-export
-
0.3.0- Implement
IntoIterforGenericArray - Add
mapmethod - Add optional
serde(de)serialization support feature.
- Implement
-
< 0.3.0- Initial implementation in late 2015