Типажи представляют интересную проблему, когда мы хотим сохранить их в другой структуре. Типажи обфусцируют (obfuscate - запутывает) оригинальную структуру, таким образом это также запутывает ее оригинальный размер. Не размерные значения, хранящиеся в структурах, обрабатываются в Rust двумя способами:
generics
(обобщенные типы) - Использование обощенных типов эффективно создает структуру/функции известных типов и, следовательно, известных размеровindirection
(косвенность) - Размещение экземпляров класса в куче дает нам уровень косвенности, который позволяет нам не беспокоиться о размере фактического типа и просто хранить указатель на него. Есть и другие способы