#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

#1866 in Data structures

Download history 177/week @ 2024-11-15 129/week @ 2024-11-22 160/week @ 2024-11-29 354/week @ 2024-12-06 317/week @ 2024-12-13 190/week @ 2024-12-20 36/week @ 2024-12-27 174/week @ 2025-01-03 282/week @ 2025-01-10 319/week @ 2025-01-17 590/week @ 2025-01-24 1092/week @ 2025-01-31 531/week @ 2025-02-07 552/week @ 2025-02-14 721/week @ 2025-02-21 459/week @ 2025-02-28

2,554 downloads per month
Used in 15 crates (6 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

~155KB