| //@ check-pass | |
| //@ compile-flags: -Znext-solver | |
| // Issue 100177 | |
| trait GenericTrait<T> {} | |
| trait Channel<I>: GenericTrait<Self::T> { | |
| type T; | |
| } | |
| trait Sender { | |
| type Msg; | |
| fn send<C>() | |
| where | |
| C: Channel<Self::Msg>; | |
| } | |
| impl<T> Sender for T { | |
| type Msg = (); | |
| fn send<C>() | |
| where | |
| C: Channel<Self::Msg>, | |
| { | |
| } | |
| } | |
| // This works | |
| fn foo<I, C>(ch: C) where C: Channel<I> {} | |
| fn main() {} |