impl-more

Concise trait implementations.

crates.io Documentation MIT or Apache 2.0 licensed
dependency status Download CircleCI

Usage

```rust struct MyNewTypeStruct(String);

implmore::implasref!(MyNewTypeStruct, String); implmore::implasmut!(MyNewTypeStruct, String);

implmore::implderef!(MyNewTypeStruct, String); implmore::implderefmut!(MyNewTypeStruct); // or, to deref through String too: // implmore::forwardderefand_mut!(MyNewTypeStruct, ref str);

implmore::implfrom!(MyNewTypeStruct, String); implmore::implinto!(MyNewTypeStruct, String);

enum MyEnum { Bar, Qux, }

implmore::impldisplay_enum!(MyEnum, Bar => "bar", Qux => "qux");

enum Coords { Xy(i64, i64), Xyz(i64, i64, i64), }

implmore::impldisplay_enum!(Coords, Xy(x, y) => "{x}, {y}", Xyz(x, y, z) => "{x}, {y}, {z}"); ```