blob: 52bbd1f5d286372a0c06c3b5bef30505eafbd351 [file] [log] [blame]
// check-pass
// Defaulted assoc. types should normalize properly in impls that don't
// override them.
#![feature(associated_type_defaults)]
pub struct Foo;
pub trait CanDecode: Sized {
type Output = Self;
fn read(rdr: &mut Foo) -> Option<Self::Output>;
}
impl CanDecode for u8 {
fn read(rdr: &mut Foo) -> Option<Self::Output> { Some(42) }
}
impl CanDecode for u16 {
fn read(rdr: &mut Foo) -> Option<u16> { Some(17) }
}
fn main() {}