new_type_derive 0.2.2

Combat primitive obsession by easily creating strongly-typed wrappers and reference types
Documentation

new_type_derive

This crate provides the new_type_pair! macro, which allows for the creation of a wrapping type over primitives and their references. For example, when creating a strongly-typed wrapper for an identifier around a String, we may also want an accompanying strongly-typed wrapper around the reference type str. This can enable better zero-copy behavior while still keeping the benefits of a strongly-typed wrapper.

The reference new type must implement the NewTypeRef trait, which provides a mechanism for validating that the value is valid before returning the wrapped new type. It also ensures that you are able to seamlessly transition between the reference type, the owned type, the underlying owned type, and the underlying reference type through the automatic implementation of From, AsRef, Borrow, PartialEq, and PartialOrd, as well as Serialize and Deserialize when the serde feature is enabled.