PackageTrack
Sign in Get early access

vec1

a std Vec wrapper assuring that it has at least 1 element

1.12.1 11M downloads/mo #2979 most downloaded on crates.io rustonaut/vec1

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 6 weeks to 1.6 years

Most releases are documented

notes for 15 of 17 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

17 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

17 releases · Jun 2018 to May 2024
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 17
  1. 1.12.1 25 May 2024
    Release notes
    • Reduced minimal rust version to 1.71.1
    Open source →
    Release notes
    • Reduced minimal rust version to 1.71.1
    Open source →
  2. 1.12.0 27 Mar 2024
    Release notes
    • Added len_nonzero.
    Open source →
  3. 1.11.1 23 Mar 2024
    Release notes
    • Fix package.rust-version in Cargo.toml
    Open source →
    Release notes
    • Fix package.rust-version in Cargo.toml.
    Open source →
  4. 1.11.0 23 Mar 2024
    Release notes
    • Increased minimal rust version to 1.74.
    • Relax lifetime constraints on {try_,}mapped_{ref,mut}
    • Added new proxy functions for Vec
      • try_reserve
      • try_reserve_exact
      • shrink_to
      • spare_capacity_mut
      • extend_from_within
      • retain_mut
    • Added missing proxy trait impls
      • impl<T, const N: usize> TryFrom<Vec1<T>> for Box<[T; N]>
      • impl<T, const N: usize> TryFrom<&[T; N]> for Vec1<T> where T: Clone
      • impl<T, const N: usize> TryFrom<&mut [T; N]> for Vec1<T> where T: Clone
    • Removed no longer needed import/impl workaround.
    • Added multiple _nonzero implementations
      • truncate_nonzero
      • resize_with_nonzero
      • resize_nonzero
    Open source →
    Release notes
    • Increased minimal rust version to 1.74.
    • Relax lifetime constraints on {try_,}mapped_{ref,mut}.
    • Added new proxy functions for Vec
      • try_reserve
      • try_reserve_exact
      • shrink_to
      • spare_capacity_mut
      • extend_from_within
      • retain_mut
    • Added missing proxy trait impls
      • impl<T, const N: usize> TryFrom<Vec1<T>> for Box<[T; N]>
      • impl<T, const N: usize> TryFrom<&[T; N]> for Vec1<T> where T: Clone
      • impl<T, const N: usize> TryFrom<&mut [T; N]> for Vec1<T> where T: Clone
    • Removed no longer needed import/impl workaround.
    • Added multiple _nonzero implementations
      • truncate_nonzero
      • resize_with_nonzero
      • resize_nonzero
    Open source →
  5. 1.10.1 21 Oct 2022
    Release notes
    • Improved documentation by using doc_auto_cfg on docs.rs.
    Open source →
  6. 1.10.0 21 Oct 2022
    Release notes
    • Increased minimal rust version to 1.57.
    • Added a length>0 aware reduce, reduce_ref, reduce_mut.
    • Added smallvec1_inline!.
    • Added SmallVec1::from_array_const().
    Open source →
  7. 1.9.0 16 Oct 2022
    Release notes
    • Increased minimal rust version to 1.56.
    • Added missing LICENSE-MIT,LICENSE-APACHE files. Licensing did not change.
    • Added from_vec_push and from_vec_insert constructors.
    • Use edition 2021.
    • Impl TryFrom for [T; N] for Vec1<T>/SmallVec1<T> using const generic.
    Open source →
    Release notes
    • Increased minimal rust version to 1.56.
    • Added missing LICENSE-MIT,LICENSE-APACHE files. Licensing did not change.
    • Added from_vec_push and from_vec_insert constructors.
    • Use edition 2021.
    • Impl TryFrom for [T; N] for Vec1<T>/SmallVec1<T> using const generic.
    Open source →
  8. 1.8.0 21 Mar 2021
    Release notes
    • minimal rust version is now 1.48
    • updated documentation
    • more tests
    • deprecated the try_ prefix usage as it created ambiguities with
      other potential try_ versions (like try and don't panic if out of
      bounds or try and don't panic if allocation fails).
    • some missing methods and trait implementations (e.g. `drain)
    • fixed bug in Vec1.splice() which caused the code to return
      a Size0Error in a very specific edge case where it should
      have panicked due to a out of bounds range like Vec.splice()
      does.
    Open source →
    Release notes
    • minimal rust version is now 1.48
    • updated documentation
    • more tests
    • deprecated the try_ prefix usage as it created ambiguities with other potential try_ versions (like try and don't panic if out of bounds or try and don't panic if allocation fails).
    • some missing methods and trait implementations (e.g. `drain)
    • fixed bug in Vec1.splice() which caused the code to return a Size0Error in a very specific edge case where it should have panicked due to a out of bounds range like Vec.splice() does.
    Open source →
  9. 1.6.0 11 Aug 2020
    Release notes
    • Added the split_off_first and split_off_last methods.
    Open source →
    Release notes
    • Added the split_off_first and split_off_last methods.
    Open source →
  10. 1.5.1 01 Jul 2020
    Release notes
    • Updated project to edition="2018" (not that this is
      a purely internal change and doesn't affect the API
      interface or minimal supported rustc version)
    • Added CONTRIBUTORS.md
    • Updated README.md
    Open source →
    Release notes
    • Updated project to edition="2018" (not that this is a purely internal change and doesn't affect the API interface or minimal supported rustc version)
    • Added CONTRIBUTORS.md
    • Updated README.md
    Open source →
  11. 1.5.0 21 May 2020
    Release notes
    • minimal rust version is now 1.34
    • TryFrom is no longer feature gated
    • vec1![] now allows trailing , in all cases
    • Size0Error now no longer has a custom
      std::error::Error::description() implementation.
    • fixed various clippy::pedantic warnings
    • updated Cargo.toml
    • cargo fmt
    Open source →
    Release notes
    • minimal rust version is now 1.34
    • TryFrom is no longer feature gated
    • vec1![] now allows trailing , in all cases
    • Size0Error now no longer has a custom std::error::Error::description() implementation.
    • fixed various clippy::pedantic warnings
    • updated Cargo.toml
    • cargo fmt
    Open source →
  12. 1.4.0 26 Mar 2019
    Release notes

    New trait impl:

    • impl Default for Vec1<T> where T: Default
    Open source →
  13. 1.3.0 21 Mar 2019
    Release notes

    New manual proxy methods:

    • splice
    • to_asci_lowercase
    • to_ascii_uppercase

    New Into impl for following types:

    • Rc<[T]>
    • Arc<[T]>
    • Box<[T]>
    • VecDeque<T>

    Unstable/Nightly features

    New TryFrom impl for following types:

    • Box<[T]>
    • BinaryHeap<T>
    • VecDeque<T>
    • String
    • &str
    • &[T] where T: Clone
    • &mut [T] where T: Clone
    Open source →
  14. 1.2.0 20 Mar 2019
    Release notes
    • Added new try_from_vec which returns a Result<Vec1<T>, Size0Error>.
    • Deprecated from_vec as it doesn't return a error type as error.

    Unstable/Nightly features

    • New unstable-nightly-try-from-impl feature which adds a TryFrom<Vec<T>> implementation.
    Open source →
  15. 1.1.0 24 Jul 2018
    Release notes
    • Addead a serde feature implementing Serialize/Deserialize.
    Open source →
  16. 1.0.1 12 Jun 2018

    Nothing published for this version

  17. 1.0.0 11 Jun 2018

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive