Skip to content

NaokiM03/derive_newtype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

derive_newtype

About

This derive macro provides Deref, DerefMut, and From for the newtype pattern.

A similar crate exists but has not been updated.

Notice

This library has no plans to add further functionality at this time. Only version updates of dependent libraries will be followed.

How to use

use derive_newtype::Newtype;

#[derive(Newtype)]
struct Foo(u8);

This macro will generate the following code:

impl core::ops::Deref for Foo {
    type Target = u8;
    fn deref(&self) -> &Self::Target {
        &self.0
    }
}
impl core::ops::DerefMut for Foo {
    fn deref_mut(&mut self) -> &mut Self::Target {
        &mut self.0
    }
}
impl From<u8> for Foo {        
    fn from(inner: u8) -> Foo {
        Foo(inner)
    }
}

License

derive_newtype is released under the MIT License

About

This derive macro provides Deref, DerefMut, and From for the newtype pattern.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages