Здравствуйте, x-code, Вы писали:
XC>ОК, то есть если тип динамический (точно известен лишь в рантайме — в частности указатель на базовый класс) то и размер динамический — это понятно. Ну а фича-то в чем? Как в С++ жили без этого и почему в Rust это вдруг понадобилось?
В C++, нецивилизованном языке, жили как привыкли — компилятор ничего не обещает, все потенциальные косяки на совести программиста, пусть берет дебаггер и ищет ошибку сам. В Rust же взялись обеспечить какие-то гарантии.
XC>Кстати, еще вспоминается низкоуровневая фича из Си "struct hack" — там тоже размер фактического объекта динамический и известен лишь в рантайме: