LINUX.ORG.RU

История изменений

Исправление red75prim, (текущая версия) :

а вот забоксенные как указатели на кучу - фиг знает, оптимизируется их размещение для крошечных замыканий или нет.

Нет, не оптимизируется. Если есть Box, то есть и выделение памяти на куче. Но есть одно исключение - боксинг типов нулевого размера не выделяет память. То есть, забоксенная лямбда (например Box::new(|x| { x + 1 }) as Box<Fn(i32) -> i32> ), не выделяет память на куче.

Исходная версия red75prim, :

а вот забоксенные как указатели на кучу - фиг знает, оптимизируется их размещение для крошечных замыканий или нет.

Нет, не оптимизируется. Если есть Box, то есть и выделение памяти на куче. Но есть одно исключение - боксинг типов нулевого размера не выделяет память. То есть забоксенная лямбда (например Box::new(|x| { x + 1 }) as Box<Fn(i32) -> i32> ), не выделяет память на куче.