ThinWrap is a very small Rust library that provides a macro (thin_wrap!) to wrap any struct in an outer struct, and generate its Deref and DerefMut traits automatically.
thin_wrap!
Deref
DerefMut
With ThinWrap:
pub struct Inner; thin_wrap!(pub, Outer, Inner);
Without ThinWrap:
pub struct Inner; pub struct Outer(Inner); impl Deref for Outer { type Target = Inner; fn deref(&self) -> &Self::Target { &self.0 } } impl DerefMut for Outer { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } }