Problem dotyczy też Rusta. Czy można stworzyć tam zmienną typu trait? Założenia
- Trait -> typ Bazowy
- Implementacja traita dla struktury -> typ konkretny
nie wiem o co dokładnie chodzi, ale jest coś takiego jak trait object
https://doc.rust-lang.org/reference/types/trait-object.html
https://doc.rust-lang.org/book/ch17-02-trait-objects.html
ograniczenie jest takie, że trait object może być alokowane tylko na stercie, więc na stosie może być tylko wskaźnik do trait object
inna sprawa to to, że trait object działa wolniej niż typowe generyki rustowe (trait object = metody wirtualne, bez dynamicznej dewirtualizacji, zwykłe generyki = monomorphization, czyli coś a'la template z c++)