nova
Create newtypes with great convenience.
All types generated by the following macros implement Debug, Clone, Eq, PartialEq, Ord, PartialOrd
and Hash. For Copy types, the newtype also implements Copy.
Usage
[]
= "0.4"
Example
use newtype;
pub type Meow = String;
pub type SpecialUuid = Uuid;
Supported attributes
Crate compatibility attributes
- serde: enables support for the
serdeattribute to deriveSerializeandDeserializefor newtypes. - sqlx: enables support for the
sqlxattribute to derivesqlx::Typefor newtypes. - async_graphql: enables support for the
async_graphqlattribute to implementScalarfor newtypes.
Generation attributes
- copy: derives
Copyon the newtype. - opaque: disables generating a
Derefandinto_innerfunctions to create an opaque type. - borrow = "<type>": sets the type to be used for the
Derefimplementation, if needed. - new: create default construction
newfunction andFromimplementation. - derive(...): replace the default derives for the newtype with the provided list. Same syntax as the normal
#[derive(...)]attribute.
License
This project is licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.