Box (ну точнее то, что было бы написано про Box в какой-нибудь спеке/стандарте) ничего не говорит про стек или кучу. Box говорит, что у какого-то значения будет фиксированный адрес в памяти, который не будет меняться при мувах бокса.
A pointer type that uniquely owns a heap allocation of type T.
Ну это стандартная проблема, что документация rust слишком конкретна и в нее протекают детали реализации, например наличие стека и кучи.
> который не будет меняться при мувах бокса ну лан, такое на стеке будет сделать непросто ))
особенно будет весело, когда allocator API стабилизируют )
Ну и в принципе так понятней большинству людей.
Зато можно делать по mmap-у на каждый новый бокс. Или каким-то анализом статически пронумеровать все боксы (так, чтобы в один момент не было двух боксов с одинаковыми номерами), и потом в качестве стораджа использовать глобальный статический массив.
Обсуждают сегодня