LINUX.ORG.RU

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

Исправление 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 замыкания нужны, чтобы избежать косвенной адресации.

В книге этот момент не поясняется, но всюду используется вариант |&:|

Обычно можно использовать и ||, компилятор сам выведет что именно нужно.