Dědičnost: Osobně jsem v táboře "Composition over inheritance", ale to i spousta C++ vývojářů. Znám dost lidí co dědičnost používají prakticky jen na abstract classes. Takže dost podobně jako Rust s traity. Ale ano, pokud považuješ class inheritance za dobrý nápad, Rust to nemá.
Templates: Generika v Rustu jsou o něco méně schopná než templates, na stranu druhou, C++ podle mě nemá srovnání s tím co umí Rust makra.
Polymorfismus: Tak tady fakt netuším co ti chybí
Reflection: Odkdy má C++ reflection?
Overloading: Function overloading? Jde částečně přes traity, ale beru
Ale pokud budem hrát "Jazyk něco nemá" hru, tak třeba mimo zmíněných maker:
- Pattern matching + rozumnou práci s tagged unions
- Iterátory
- Rozumný error handling (vyhodit výjimku a modlit se že ji někdo nezapomene chytit neberu jako rozumný)
- Async / Await
25. 2. 2026, 15:23 editováno autorem komentáře
Async / await je přímou součástí Rustu.
Co součástí není je jejich obsluha, tedy async runtime. Což je nutnost plynoucí z univerzálnosti jazyka. Pro některé tasky se hodí work stealing approach jako používá Tokio, někde se hodí thread-per-core přístup jako používá třeba Monoio, a async pro mikrokontrollery potřebuje podstatně víc lightweight přístup, takže máme Embassy. Výhoda je mnohem větší flexibilita, i když chtělo by to (A pokud vím, pracuje se na tom) větší sjednocení těch API.
26. 2. 2026, 16:22 editováno autorem komentáře
Ad reflexe – myslím, že to Rust naopak v nějaké podobě může mít díky makrům. Všeobecná reflexe jako v Javě by asi neseděla k filozofii jazyka (a ani v Javě není tak všeobecná, pokud použijeme native-image – ze stejného důvodu), ale nějakou omezenou reflexi mohou přinést makra. Znamená to metadata navíc (podobně jako v native-image) nebo ji použít compile-time (i zde je trochu analogie k native-image – během generování native-image lze reflexi používat bez omezení). V nějaké omezené podobě to IMHO dělá třeba serde.