27 lines
386 B
Rust
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() {}
|