empty-collections 0.1.0

Correct-by-construction empty collections.
Documentation
  • Coverage
  • 100%
    5 out of 5 items documented1 out of 2 items with examples
  • Size
  • Source code size: 32.94 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.95 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • fosskers/empty-collections
    2 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • fosskers

empty-collections

Empty collections - guaranteed to have nothing!

You may be familiar with the concept of nonempty-collections. The empty-collections crate provides the sister-concept; collections which contain nothing, and never will.

Why, you ask? That is a good question.

Examples

use empty_collections::*;

let v: EVec<usize> = EVec::new();
assert!(v.is_empty());

See the documentation for EVec, EMap, and ESet for more examples of their extensive APIs.

Iteration

The iterators in this crate are the fastest in the entire Rust ecosystem, able to traverse their entire stream in constant time. Simply amazing.

use empty_collections::*;

let v: EVec<i32> = EVec::new();
assert_eq!(0, v.into_iter().sum());

Features

  • serde: Guarantee that collections you send/receive over the wire are empty.