Облегчение черты со связанными типами [дубликаты]

На этот вопрос уже есть ответ:

Есть ли способ создать псевдоним типа для нескольких признаков? 2 ответа

Можно ли создать псевдоним признака с указанными связанными типами? Я использую метод из аналогичного вопроса Псевдоним типа для нескольких признаков

trait Trait {
    type Item;
}

fn print<T>(value: T) where T: Trait<Item=char> {
}

trait Alias: Trait {}
impl<T: Trait<Item=char>> Alias for T {}

fn print_alias<T: Alias>(value: T) {
    print(value)
}

fn main() {
}

Как бы то ни было, он не компилируется со следующей ошибкой:

<anon>:12:5: 12:10 error: type mismatch resolving `<T as Trait>::Item == char`:
 expected associated type,
    found char [E0271]
<anon>:12     print(value)
              ^~~~~
<anon>:12:5: 12:10 note: required by `print`
<anon>:12     print(value)
              ^~~~~
error: aborting due to previous error

Воспроизвести ссылку:http: //is.gd/LE4h6

Ответы на вопрос(3)

Ваш ответ на вопрос