macro_rules! ref_impl { (impl $traiti:ident for &T { $($body:tt)* }) => { impl<'a, T: $traitb $(+ $bound)*> $traiti for &'a T { $($body)* } impl<'a, T: $traitb $(+ $bound)*> $traiti for &'a mut T { $($body)* } impl $traiti for ::std::boxed::Box { $($body)* } }; }