#[derive(Plural)]
for creating frictionless new types with a Vec, HashMap, etc.
#[derive(Plural)]
implements From
, Into
, FromIterator
, IntoIterator
, Deref
, and DerefMut
.Vec
and HashMap
(adding other collections to here is very easy).```rust
struct Numbers(Vec
// use From trait let mut myfavoritenumbers: Numbers = vec![].into();
// use DerefMut trait. myfavoritenumbers.push(42);
// HashMap is also supported
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()); } ```