derive_deref

This crate adds a simple #[derive(Deref)] and #[derive(DerefMut)]. It can be used on any struct with exactly one field. If the type of that field is a reference, the reference will be returned directly.

Example

```rust

[derive(Deref)]

struct MyInt(i32);

asserteq!(&1, &*MyInt(1)); asserteq!(&2, &*MyInt(2));

[derive(Deref)]

struct MyString<'a>(&'a str);

// Note that we deref to &str, not &&str asserteq!("foo", &*MyString("foo")); asserteq!("bar", &*MyString("bar")); ```

License

Licensed under either of these:

Contributing

Unless you explicitly state otherwise, any contribution you intentionally submit for inclusion in the work, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.