inline_newtype
A rust newtype macro inspired by kotlin's inline class. When we use
newtype!;
It generate the struct
#[derive(Debug, Clone)]
struct NewTypeOne {
pub v: u32,
}
for you. The v is the default public field.
use newtype;
use PathBuf;
newtype!;
newtype!;
let user_home_directory = UserHomeDirectory ;
let user_runtime_directory= UserRuntimeDirectory ;
test_newtype_type_func(user_runtime_directory); // mismatch type
You can aslo make the newtype public just adding the pub.
use newtype;
use PathBuf;
newtype!;
You also can change the field name if you want.
use newtype;
use PathBuf;
newtype!;
let user_home_directory = UserHomeDirectory ;
assert_eq!;
Transform from one newtype to another
use newtype;
use PathBuf;
newtype!;
newtype!;
let user_home_directory = UserHomeDirectory ;
let user_runtime_directory = UserRuntimeDirectory ;
You can also using braces to declare the newtype.
use newtype;
use PathBuf;
newtype!
let user_home_directory = UserHomeDirectory ;
assert_eq!