rust/tests/ui/implied-bounds/implied-bounds-entailment-w...

27 lines
386 B
Rust

//@ 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() {}