* Implement `[value; N]` syntax for `array_vec!`
Also implement the `($array_type:ty)` form by just calling `default()` immediately, which makes more sense.
* Add tests for `[value; N]` macro form
* Implement `[value; N]` syntax for `tiny_vec!`
Also make the same improvement to the `($array_type:ty)` macro variant that I did for `array_vec!`.
* Add tests for `[value; N]` macro form
* Add Array::default function to construct a default array
* Use Array::default instead of Default::default to allow supporting all array sizes
* Missed impl Array for [T; 33] 🍀
* Avoid needing `[T; N]: Default with const-generics
* Add Serde support.
* Removes `serde/alloc` from deps( tests still pass without it anyways)
* Fix some issues that could result in a panic.
* Wait, actually use the size_hint properly.
* Error instead of silent truncation.
* That wasn't meant to be a default feature.
* more features for fuzzing
* arrayveciter fuzzer + overflow fix
* moar fuzzers and tinyvecdrain change
* cargo fmt
* Self on enums is not stable in 1.36
* 🐞 BUGFIX: ArrayVecIterator::nth_back
* cargo fmt
* Also cover reserve, reserve_exact and shrink_to_fit by fuzzing. SmallVec had a use-after-free bug in shrink_to_fit inlining so we'd better test this
* Also test extend_from_slice on tinyvec and arrayvec
* slight changes functions that use drain
* bug in arrayvec iter
* reverse iter for arrayvec
* nth_back is stable since 1.37
* simpler drain for arrayvec
* soveu forgot to add changed files
* fmt + feature for rustc >= 1.40
* cosmetic changes
* does the ci work now?
* SHNAAAAAAAAATSEEEEEEEEL
* Add ArrayVec::splice and TinyVec::splice
Added for closer API parity with std::Vec
* Fix ArrayVec::splice example typo
* Removed FusedIterator bound from splice
This bound could've caused confusing error messages, and was
inconsistent with the Vec API. splice now uses fuse itself to ensure
consistency. Vec::splice consumes the whole iterator at once, so it
essentially has the same behavior, but this implementation gradually
consumes the iterator as elements are drained, so this fuse is necessary
to keep the behavior the same.
* Reserve additional capacity in TinyVecSplice
Used TinyVec::reserve to pre-allocate space for elements being spliced
into the TinyVec after the splicing iterator is dropped. Used the lower
bound like Vec's splice does.
* Run rustfmt
* change behavior on extend_from_slice, append
* preallocation in extend()
* append v2
* obviously
* fix resize_with
* try_functions and to_vec on arrayvec
* shrink_to_fit
* bit of cleaning
* cosmetic changes
* use asserts instead of if-panics
* I promise, this is the last commit
* examples, tests
* matches macro exists since rust 1.42
* Update tinyvec.rs
* new extend and insert
* mem::take is from rust 1.40