История изменений
Исправление quantum-troll, (текущая версия) :
о замыканиях
Есть два принципиально разных вида замыканий: boxed и unboxed. И для каждого из них свой синтаксис. Те, что boxed, сейчас Box<Fn(i32) -> i32>
или &Fn(i32) -> i32
и передаются как аргумент.
Кроме того, есть контроль над тем, как будет использоваться замыкание: лишь один раз, много раз, с изменяемым окружением или неизменяемым.
unboxed замыкания нужны, чтобы избежать косвенной адресации.
В книге этот момент не поясняется, но всюду используется вариант |&:|
Обычно можно использовать и ||, компилятор сам выведет что именно нужно.
Исходная версия quantum-troll, :
о замыканиях
Есть два принципиально разных вида замыканий: boxed и unboxed. И для каждого из них свой синтаксис. Те, что boxed, сейчас Box<Fn(i32) -> i32> или &Fn(i32) -> i32 и передаются как аргумент.
Кроме того, есть контроль над тем, как будет использоваться замыкание: лишь один раз, много раз, с изменяемым окружением или неизменяемым.
unboxed замыкания нужны, чтобы избежать косвенной адресации.
В книге этот момент не поясняется, но всюду используется вариант |&:|
Обычно можно использовать и ||, компилятор сам выведет что именно нужно.