#non-empty #immutability #vec #ensure #construction #traits #pop

non-empty-vec

NonEmpty vector implementation, ensure non-emptiness by construction

7 releases

0.2.3 Nov 16, 2021
0.2.2 Nov 10, 2021
0.2.0 Aug 30, 2021
0.1.2 Jul 23, 2020
0.1.0 Dec 15, 2019

#1360 in Data structures

Download history 476/week @ 2023-12-14 530/week @ 2023-12-21 328/week @ 2023-12-28 536/week @ 2024-01-04 483/week @ 2024-01-11 485/week @ 2024-01-18 351/week @ 2024-01-25 333/week @ 2024-02-01 198/week @ 2024-02-08 364/week @ 2024-02-15 338/week @ 2024-02-22 214/week @ 2024-02-29 293/week @ 2024-03-07 159/week @ 2024-03-14 249/week @ 2024-03-21 241/week @ 2024-03-28

977 downloads per month
Used in 13 crates (5 directly)

MIT license

12KB
286 lines

NonEmpty vector implementation, ensure non-emptiness by construction.

Inherits Vec's immutable methods through Deref trait, not implements DerefMut.

The differences from Vec:

  • len returns NonZeroUsize, is_empty always returns false.
  • first(_mut), last(_mut), split_first(_mut), split_last(_mut) don't return Option.
  • pop returns None if there is only one element in it.

More usages please look at the embedded unit testing.

Dependencies

~180KB