delegare/
lib.rs

1pub use delegare_derive::*;
2
3pub trait Delegatable<'a, T>: Sized {
4    type Target;
5    fn delegate_mut(&mut self) -> &mut Self::Target;
6    fn delegate_ref(&self) -> &Self::Target;
7    fn delegate_owned(self) -> Self::Target;
8}