Релиз Rust 1.53.0 — долгожданный IntoIterator для массивов и множество других новых нововведений языка — новости на Tproger

Поделиться

В официальном блоге языка 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

и множество других.

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
murbus
Добавить комментарий