Выпуск языка программирования Rust 1.46
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Опубликован релиз 1.46 языка системного программирования Rust, основанного проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime.
Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек поддерживается репозиторий crates.io.
Основные новшества:
- Расширены возможности функций, определённых с использованием выражения "const fn", которые могут вызываться не только как обычные функции, но и использоваться в любом контексте вместо констант. Данные функции вычисляются на этапе компиляции, а не в ходе выполнения, поэтому на них накладываются определённые ограничения, такие как возможность чтения только из констант. В новом выпуске убран запрет на применение в подобных функциях булевых операторов ("&&" и "||"), разрешено использование конструкций "if", "if let", "match",
"while", "while let" и "loop", а также предоставлена возможность преобразования в срезы (slice, динамические массивы) при помощи выражения "&[T]". Применение данных возможностей в функциях "const fn" позволяет вынести некоторые ресурсоёмкие операции на стадию компиляции. Например, реализация "const-sha1" даёт возможность вычислять хэши SHA-1 во время компиляции, что приводит к ускорению работы WinRT привязок для Rust почти в 40 раз.
- Для повышения информативности сообщений об ошибках стабилизирована поддержка атрибута "#[track_caller]", полезного для функций, подобных unwrap, в которых не исключается возникновение сбоев (panic) при некорректном использовании типов. Указанный атрибут будет использован обработчиком panic для вывода местоположения вызывающего в сообщении об ошибке.
- Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в методе std::mem::forget.
- В разряд стабильных переведена новая порция API, в том числе стабилизированы Option::zip и vec::Drain::as_slice.
- В пакетный менеджер Сargo добавлена поддержка новых переменных окружения, устанавливамых при компиляции пакета: CARGO_BIN_NAME (имя результирующего исполняемого файла), CARGO_CRATE_NAME (имя пакета), CARGO_PKG_LICENSE (лицензия, указанная в манифесте), CARGO_PKG_LICENSE_FILE (путь к файлу с лицензией).
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://blog.rust-lang.org/202...)
- OpenNews: Разработчики Chrome экспериментируют с языком программирования Rust
- OpenNews: Анонсировано создание независимой от Mozilla организации Rust Foundation
- OpenNews: Выпуск языка программирования Rust 1.45
- OpenNews: Предложение по обсуждению вопроса добавления в ядро Linux средств для разработки на языке Rust
- OpenNews: Microsoft развивает новый язык программирования на основе Rust
Похожие новости:
- [Rust, ООП] Rust vs. State
- Разработчики Chrome экспериментируют с языком Rust
- [Open source, Программирование, Rust] Закладывая фундамент будущего Rust (перевод)
- Анонсировано создание независимой от Mozilla организации Rust Foundation
- Представлен браузерный движок Kosmonaut, написанный на языке Rust
- [Ненормальное программирование, C#, Rust] Опыт конвертирования кода C# в код Rust
- [Программирование, Системное программирование, Rust] Распространённые заблуждения о временах жизни в Rust (перевод)
- [Программирование, Системное программирование, Rust] В поиске вопросов, или как создать новый отладчик
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, Софт] Включаем сбор событий о запуске подозрительных процессов в Windows и выявляем угрозы при помощи Quest InTrust
- [IT-инфраструктура, Информационная безопасность, Системное администрирование, Софт] Как InTrust может помочь снизить частоту неудачных попыток авторизаций через RDP
Теги для поиска: #_rust
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 03:48
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Опубликован релиз 1.46 языка системного программирования Rust, основанного проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек поддерживается репозиторий crates.io. Основные новшества:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 03:48
Часовой пояс: UTC + 5