5 type Extra: Extra<(), Error = Self::Item>;
12 trait ThirdTrait: SecondTrait {
20 impl<First> SecondTrait for First
24 type Item2 = First::Extra;
27 impl<Second, T> ThirdTrait for Second
29 Second: SecondTrait<Item2 = T>,
34 impl<S, Third: ?Sized> FourthTrait for Third
36 Third: ThirdTrait<Item3 = S>,
41 pub trait Extra<Request> {
45 struct ImplShoulExist<D, Req> {
49 impl<D, Req> ImplShoulExist<D, Req>
53 <D::Item4 as Extra<Req>>::Error: Into<()>,
60 impl<D, Req> Extra<Req> for ImplShoulExist<D, Req> {
64 pub fn broken<MS>(ms: MS)
69 // Error: Apparently Balance::new doesn't exist during MIR validation
70 let _ = ImplShoulExist::<MS, ()>::access_fn(ms);