auto-delegate 0.1.3

Auto delegate allows you that automatic impl of traits and delegate their handling to child members.
Documentation
use async_trait::async_trait;

use auto_delegate_impl::delegate;

pub struct EmailAddress(String);

impl EmailAddress {
    #[allow(unused)]
    pub fn raw(&self) -> &str {
        self.0.as_str()
    }
}

impl Default for EmailAddress {
    fn default() -> Self {
        Self(String::from("rust@gmail.com"))
    }
}

#[async_trait]
#[delegate]
pub trait EmailReadable {
    async fn read_email<'a>(&'a self) -> &'a EmailAddress;
}