vecless 0.3.0

A minimal, Vec-free, singly linked list with Display support and ergonomic APIs.
Documentation
  • Coverage
  • 57.89%
    11 out of 19 items documented5 out of 12 items with examples
  • Size
  • Source code size: 25.46 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 952.48 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 14s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Documentation
  • Pjdur/vecless
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Pjdur

vecless

vecless is a minimal, ergonomic, singly linked list implementation in Rust — no Vec required.

✨ Features

  • ✅ No Vec or heap-allocated arrays
  • ✅ Supports .add(...) with any iterable
  • ✅ Implements Display for clean, human-readable output
  • ✅ Iterator support for for loops and .iter()

🚀 Example

use vecless::List;

fn main() {
    let list = List::new().add(["a", "b", "c"]);
    println!("{}", list); // Output: [a, b, c]
}

Why Vecless?

Rust’s built-in Vec<T> is powerful and flexible — but it doesn’t implement the Display trait, which means you can’t print it with {}. Instead, you have to use the debug formatter {:?}:

let v = vec![1, 2, 3];
println!("{:?}", v); // [1, 2, 3]

vecless was created to:

  • Provide a list type that implements Display out of the box
  • Offer a lightweight, composable alternative to Vec for learning and experimentation
  • Help developers understand how linked lists work under the hood in Rust
  • Serve as a teaching tool or a minimal data structure for constrained environments

While not a replacement for Vec in performance-critical code, vecless is great for:

  • Educational projects
  • Functional-style list building
  • CLI tools or embedded contexts where simplicity matters

Want to contribute or suggest improvements? Open an issue or start a discussion!