pub struct Entity {
name: String,
}
fn walk<T>(entity: T) {
eprintln!("{} walked", entity.name);
}
В настоящее время следующий код не компилируется, потому что тип T не имеет поля * 1002. *
Я знаю, что есть признаки черты в ржавчине, есть ли некоторые "границы поля"?
Мне действительно нужно:
trait HasName {}
impl HasName for Entity {}
fn walk<T: HasName>(entity: T) {
eprintln!("{}", entity.name);
}
Ой, подождите, это тоже не скомпилируется!
Вот рабочий пример
I значит, должно быть что-то более простое, чем , что .
Может быть, какая-то структурная деструкция, как в javascript?