Используя rust 1.2.0
Проблема
Я все еще изучаю Rust (исходя из фона Javascript) и пытаюсь выяснить, возможно ли для одной структуры StructB
расширить существующую структуру StructA
, чтобы StructB
все поля, определенные на StructA
.
В Javascript (синтаксис ES6) я мог бы по существу сделать что-то вроде этого...
class Person {
constructor (gender, age) {
this.gender = gender;
this.age = age;
}
}
class Child extends Person {
constructor (name, gender, age) {
super(gender, age);
this.name = name;
}
}
Ограничения
-
StructA
- это внешнийcargo
пакет, который я не контролирую.
Текущий прогресс
Я нашел этот пост в блоге по одинарному наследованию, который звучит как именно то, что мне нужно.
Но попытка его реализации привела к появлению этого сообщения об ошибке error: virtual structs have been removed from the language
. Некоторые поиски позже, и я узнал, что он был реализован, а затем удален в RFC-341 довольно быстро.
Также найден этот поток об использовании признаков, но так как StructA
из внешнего пакета груза, я не думаю, что это возможно для меня превратить в черту.
Итак, каков был бы правильный способ сделать это в Rust?