]> git.lizzy.rs Git - rust.git/blob - tests/ui/higher-rank-trait-bounds/normalize-under-binder/issue-89118.rs
Rollup merge of #106797 - FawazTirmizi:dev/issues/104284, r=bjorn3
[rust.git] / tests / ui / higher-rank-trait-bounds / normalize-under-binder / issue-89118.rs
1 trait BufferMut {}
2 struct Ctx<D>(D);
3
4 trait BufferUdpStateContext<B> {}
5 impl<B: BufferMut, C> BufferUdpStateContext<B> for C {}
6
7 trait StackContext
8 where
9     Ctx<()>: for<'a> BufferUdpStateContext<&'a ()>,
10 {
11     type Dispatcher;
12 }
13
14 trait TimerContext {
15     type Handler;
16 }
17 impl<C> TimerContext for C
18 where
19     C: StackContext,
20     //~^ ERROR: is not satisfied [E0277]
21 {
22     type Handler = Ctx<C::Dispatcher>;
23     //~^ ERROR: is not satisfied [E0277]
24 }
25
26 struct EthernetWorker<C>(C)
27 where
28     Ctx<()>: for<'a> BufferUdpStateContext<&'a ()>;
29 impl<C> EthernetWorker<C> {}
30 //~^ ERROR: is not satisfied [E0277]
31
32 fn main() {}