pub mod my_trait {
    pub trait MyTrait {
        fn my_fn(&self) -> Self;
    }
}

pub mod prelude {
    #[doc(inline)]
    pub use crate::my_trait::MyTrait;
}

pub struct SomeStruct;

impl my_trait::MyTrait for SomeStruct {
    fn my_fn(&self) -> SomeStruct {
        SomeStruct
    }
}