наследовании структур. Я могу предложить подобный синтаксис:
struct Base { foo: bool }
impl SomeTrait for Base { ... }
impl Base {
fn truth(&self) { ... }
}
struct Child { bar: usize, base: Base }
auto impl .base for Child { // (0)
impl SomeTrait; // 1
{ // 2
.foo
}
pub fn truth(&self); // 3
}
В строке (1) наследуются трейты из поля .base, в строке (2) 'виртуальные' поля, которые рассхариваются в Child.base.foo, а в (3) наследуемые методы, для которых достаточно сигнатуру прописать.
Как альтернативу (0) могу предложить
impl Child.base
impl Child from .base
impl Child as .base
auto impl Child.base
Но вариант #1 мне кажется мне слишком непонятным, а остальные используют несуществующие слова кроме auto. Что скажете, какие альтернативы можно использовать для решения этой проблемы?
Упростить создание Derive проц. Макросов, и хватит
предлагать можно, но с вероятность 100% ничего такого приниматься не будет. Просто не сильно нужно
Struct embedding из Golang что ли изобретают?
пропозалу 10 лет
Обсуждают сегодня