Macro make_smart_pointer

Source
macro_rules! make_smart_pointer {
    ($name:ident $(<$($gens:ident),*>)?, $inner:ty) => { ... };
    ($name:ident $(<$($gens:ident),*>)?, $inner:ty, $identifier:ident) => { ... };
}