1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// check-pass #![crate_type = "lib"] pub struct Foo; pub struct Path<T: Bar> { _inner: T::Slice, } pub trait Bar: Sized { type Slice: ?Sized; fn open(_: &Path<Self>); } impl Bar for Foo { type Slice = [u8]; fn open(_: &Path<Self>) { unimplemented!() } }