Новости

Значительные события: релизы, анонсы компаний, RFC, инженерные события вокруг Rust.

25.07.2024Вышел Rust 1.80.0: LazyCell и LazyLockblog.rust-lang.org

В Rust 1.80.0 стабилизированы «ленивые» типы LazyCell и LazyLock: инициализация откладывается до первого обращения, а функция инициализации хранится внутри. Это завершает перенос функциональности популярных lazy_static и once_cell в стандартную библиотеку; LazyLock потокобезопасен и подходит для статических значений.

09.07.2024Redox: вынос POSIX в пользовательское пространство — сигналы и ввод-вывод (часть I)redox-os.org

Jacob Lorentzon (4lDO2) рассказывает о старте проекта Redox по POSIX-сигналам: Redox вошёл в число 45 проектов, получивших новые гранты NGI Zero. Цель — реализовать корректную обработку POSIX-сигналов и управление процессами, по возможности вынеся их в пользовательское пространство.

30.06.2024Redox получила грант NGI Zero Core на поддержку Unix-style Signalsredox-os.org

Программа NGI Zero Core фонда NLnet профинансирует проект Redox OS Unix-style Signals. Грант позволит вынести большую часть кода сигналов из ядра в пользовательское пространство и приблизиться к POSIX-совместимости, а также включает процесс-менеджер в userspace.

13.06.2024Вышел Rust 1.79.0: inline const выражения const { … }blog.rust-lang.org

В Rust 1.79.0 стабильны inline-константы const { ... } в позиции выражения: они позволяют явно войти в const-контекст без объявления констант, использовать generics из области видимости и выводить тип. Например, const EMPTY: Option<Vec<u8>> = None; let foo = [EMPTY; 100]; теперь можно записать короче.

20.05.2024Принят RFC: extern-блоки становятся unsafegithub.com

Принят RFC, по которому блок extern "C" { .. } сам по себе считается unsafe-контекстом. Объявления внешних функций и статических переменных требуют явной пометки unsafe либо генерируют обёртки.