// check-pass // compile-flags: -Ztrait-solver=next // Issue 100177 trait GenericTrait {} trait Channel: GenericTrait { type T; } trait Sender { type Msg; fn send() where C: Channel; } impl Sender for T { type Msg = (); fn send() where C: Channel, { } } // This works fn foo(ch: C) where C: Channel {} fn main() {}