Код:
trait Trait<T> {}
struct Struct<U>;
impl<T, U: Trait<T>> Struct<U> {}
Ошибка:
error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
--> src/main.rs:5:6
|
5 | impl<T, U: Trait<T>> Struct<U> {}
| ^ unconstrained type parameter
Похоже, что RFC 447 запрещает этот шаблон; есть ли способ обойти это? Я думаю, что это можно решить, изменив T
на связанный тип, но это помешает мне выполнять мультидиспетчеризацию.