thisisplural

GitHub MIT/Apache 2.0 Crates.io docs.rs

#[derive(Plural)] for creating frictionless new types with a Vec, HashMap, etc.

Features

Example

```rust

[derive(Plural)]

struct Numbers(Vec);

// use From trait let mut myfavoritenumbers: Numbers = vec![].into();

// use DerefMut trait. myfavoritenumbers.push(42);

// HashMap is also supported

[derive(Plural)]

struct FavoriteNumbers(HashMap<&'static str, Numbers>);

// use FromIterator trait let favoritenumbers = FavoriteNumbers::fromiter([("ryo33", myfavoritenumbers)]);

// use IntoIterator trait for (name, numbers) in favorite_numbers { // use Deref trait println!("{} has {} favorite number(s)", name, numbers.len()); } ```