On autor dotazu dělá nějakou GUI knihovnu a jak sem procházel odkazy (R. Miček) často jsou to hodně košaté vztahy (OOP dedičnost) -- takže asi kopíruje OOP model, který viděl jinde... Tedy co byla původní otázka? Jestli Rust bez dědičnosti, jak ji nabízí C++ je méně flexibilní pro návrh GUI knihovny než C++?
Pravda. Třeba ten vztah "je", který se dědičnosti často připisuje, odpovídá spíš podtypům než potomkům. Dědičnost moc neumí přidávat omezení a z toho lezou problémy jako že elipsa je kružnice, ale dědí se to blbě. A rozhraní (nebo třeba Haskellovské classy) na to pasujou daleko líp.
Jako příklad, kdy dědičnost těžce kulhá, bych dal visitor. Ve chvíli kdy člověk uvažuje o visitoru opravdu stojí za zvážení, jestli nepoužít nějaký jazyk který umí součtové typy.
Dědičnost je prostředek jazyka. Ne něco, čeho chci dosáhnout. Otázka "jak nahradit dědičnost" je principielně blbě. Správná otázka je něco jako "jak udělat abc, které se často dělá pomocí dědění". Dědičnost dělá trochu rozhraní, trochu kompozici a ani jedno pořádně.