Возможно ли, чтобы одна структура расширяла существующую структуру, сохраняя все поля?

С помощью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?

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

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