Rust 1.96 вышел: новые range-типы, удобные assert-матчи и важное изменение для WebAssembly

Rust 1.96.0 выглядит как минорный релиз, но внутри есть несколько вещей, которые реально стоит заметить.Главное изменение - новые core::range::Range* типы.

Старые Range из core::ops напрямую реализуют Iterator, поэтому их нельзя нормально сделать Copy без неприятных ловушек. Новые range-типы идут другим путём: они реализуют IntoIterator, а значит могут быть Copy.Теперь можно хранить диапазоны в Copy-структурах без костылей вроде раздельных start и end.

DMCA