32 lines
871 B
Rust
32 lines
871 B
Rust
|
// run-rustfix
|
||
|
|
||
|
use std::fmt::Debug;
|
||
|
use std::marker::PhantomData;
|
||
|
use std::convert::{self, TryFrom};
|
||
|
|
||
|
#[allow(unused)]
|
||
|
struct Codec<EncodeLine, DecodeLine> {
|
||
|
phantom_decode: PhantomData<DecodeLine>,
|
||
|
phantom_encode: PhantomData<EncodeLine>,
|
||
|
}
|
||
|
|
||
|
pub enum ParseError {}
|
||
|
|
||
|
impl<EncodeLine, DecodeLine> Codec<EncodeLine, DecodeLine> where
|
||
|
DecodeLine: Debug + convert::TryFrom<String>,
|
||
|
<DecodeLine as convert::TryFrom<String>>::Error: ParseError,
|
||
|
//~^ ERROR expected trait, found enum `ParseError`
|
||
|
//~| HELP constrain the associated type to `ParseError`
|
||
|
{
|
||
|
}
|
||
|
|
||
|
impl<EncodeLine, DecodeLine> Codec<EncodeLine, DecodeLine> where
|
||
|
DecodeLine: Debug + TryFrom<String>,
|
||
|
<DecodeLine as TryFrom<String>>::Error: ParseError,
|
||
|
//~^ ERROR expected trait, found enum `ParseError`
|
||
|
//~| HELP constrain the associated type to `ParseError`
|
||
|
{
|
||
|
}
|
||
|
|
||
|
fn main() {}
|