Запуск новая стабильная версия популярного языка программирования Rust 1.7.3, версия, в которой разработчики выделяют изменения, которые делают Сообщения об ошибках «паники» теперь могут отображать собственное сообщение, а также стабилизированы некоторые API, различные улучшения и многое другое.
Тем, кто не знаком с этим языком программирования, следует знать, что фокусируется на безопасности памяти и предоставляет средства для достижения высокого параллелизма заданий, избегая использования сборщика мусора и среды выполнения (время выполнения сводится к базовой инициализации и обслуживанию стандартной библиотеки).
Методы управления памятью в Rust они избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем которые возникают из-за низкоуровневой обработки памяти, например, доступа к области памяти после ее освобождения, разыменования нулевых указателей, переполнения буфера и т. д.
Основные новые возможности Rust 1.7.3
В этой новой версии Rust 1.7.3, как уже упоминалось вначале, одной из наиболее заметных новых функций этого выпуска является редизайн формата сообщений, выдаваемых макросом «паника!», который является обработчиком ошибок программы по умолчанию, который в основном при возникновении ошибки отображает сообщение на экране, очищает память и закрывает программу.
Благодаря улучшениям, представленным в этом выпуске теперь в указанном тексте (который был по умолчанию) в макросе паники, теперь отображается отдельной строкой без кавычек, что облегчает чтение сообщения и устраняет путаницу при наличии вложенных кавычек или разделений на несколько строк. предоставлена возможность помещать собственное сообщение в строку, а не в кавычки. Кроме того, панические сообщения, исходящие от Assert_eq и Assert_ne были изменены: персонализированное сообщение было перемещено и удалены некоторые ненужные знаки препинания.
Еще одно изменение, которое выделяется в этой новой версии, это на основе предложения с RFC 3184 , в котором в основном предлагает возможность напрямую манипулировать ключами локального хранилища. нитей Локальный ключ, Локальный ключ > и локальный ключ > с помощью методов get(), set(), take() и replace() были добавлены, которые устранить необходимость в дополнительном коде инициализации для значений по умолчанию, указанных для новых потоков с помощью макроса «thread_local!».
Со стороны улучшения в Cargo, стоит отметить, что добавлена возможность печатать переменные среды груза. запустить/тестировать/тестировать в дополнительном подробном режиме -vv, а также теперь показывать версии пакетов на графике времени загрузки и исправлена печать нескольких предупреждающих сообщений для неиспользуемых полей.
Из других изменений которые выделяются из этой новой версии:
- Новая часть API перенесена в стабильную категорию, включая методы и реализации признаков.
- Компилятор обеспечивает регистрацию информации о версии в разделе «.comment», аналогично GCC и Clang.
- Третий уровень поддержки реализован для разных платформ. Третий уровень предполагает базовую поддержку, но без автоматического тестирования, публикации официальных сборок и проверки компилируемости кода.
- Реализован второй уровень поддержки целевой платформы wasm32-wasi-preview1-threads. Второй уровень поддержки предполагает гарантию сборки.
- Добавлена документация по манипулированию символами версии 0.
Стабилизированный внешний ABI «thiscall» и «thiscall-unwind». - Выводит ввод неопровержимых шаблонов резки с фиксированной длиной в качестве матрицы.
- Последствия автоматических характеристик по умолчанию теперь исключены, если существуют определенные.
Если вы интересно узнать о нем больше, вы можете проверить детали в по следующей ссылке.
Наконец, для тех, кто Заинтересованы в обновлении с предыдущей версии Rust установленный через rustup, вы можете получить новую версию Rust 1.73.0 с помощью:
rustup update stable
Если в вашей системе еще не установлен Rust, вы можете сделать это, выполнив в терминале следующую команду:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh