32 lines
872 B
Rust
32 lines
872 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() {}
|