//@ check-pass | |
pub trait Foo { | |
type Error: Error; | |
fn foo(&self, stream: &<Self::Error as Error>::Span); | |
} | |
pub struct Wrapper<Inner>(Inner); | |
impl<E: Error, Inner> Foo for Wrapper<Inner> | |
where | |
Inner: Foo<Error = E>, | |
{ | |
type Error = E; | |
fn foo(&self, stream: &<Self::Error as Error>::Span) { | |
todo!() | |
} | |
} | |
pub trait Error { | |
type Span; | |
} | |
fn main() {} |