trait BufferMut {} struct Ctx(D); trait BufferUdpStateContext {} impl BufferUdpStateContext for C {} trait StackContext where Ctx<()>: for<'a> BufferUdpStateContext<&'a ()>, { type Dispatcher; } trait TimerContext { type Handler; } impl TimerContext for C where C: StackContext, //~^ ERROR: is not satisfied [E0277] { type Handler = Ctx; //~^ ERROR: is not satisfied [E0277] } struct EthernetWorker(C) where Ctx<()>: for<'a> BufferUdpStateContext<&'a ()>; impl EthernetWorker {} //~^ ERROR: is not satisfied [E0277] fn main() {}