Поделиться
В официальном блоге языка Rust возникла запись о релизе свежайшей версии под номером 1.53.0. По словам самих разрабов, в ней они решили сконцентрироваться на добавлении нескольких новейших языковых функций и огромного количества новейших функций библиотеки.
IntoIterator для массивов
«Звездой» апдейта стала возможность перебора массивов по значению через цикл for:
for i in [1, 2, 3] {
..
}
Ранее это работало только через конструкции вида &[1, 2, 3] либо [1, 2, 3].iter().
Вкупе с тем сейчас Rust-разработчики могут передавать массивы способам, ожидающим T: IntoIterator:
let set = BTreeSet::from_iter([1, 2, 3]);
for (a, b) in some_iterator.chain([1]).zip([1, 2, 3]) {
..
}
Unicode-идентификаторы
Сейчас идентификаторы могут содержать знаки, хорошие от ascii. К примеру, можно употреблять Unicode-символы, определённые в UAX # 31. Правда, есть и ограничение — эмодзи всё ещё запрещены.
Стабилизировали ряд API
В числе доделанных способов и трейтов оказались:
-
array::from_ref
array::from_mut
AtomicBool::fetch_update
AtomicPtr::fetch_update
BTreeSet::retain
BTreeMap::retain
BufReader::seek_relative
cmp::min_by
cmp::min_by_key
cmp::max_by
cmp::max_by_key
DebugStruct::finish_non_exhaustive
Duration::ZERO
Duration::MAX
Duration::is_zero
Duration::saturating_add
Duration::saturating_sub
Duration::saturating_mul
и огромное количество остальных.
Источник: