Команда Rust рада сообщить о новой версии языка — 1.72.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.72.0 вам достаточно выполнить команду: Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub. Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках. Вы можете включить Rust-код, используя cfg — например, для предоставления некоторых функций только с определёнными возможностями крейтов или только на определённых платформах. Ранее отключенные таким образом элементы были бы фактически невидимы для компилятора. Однако теперь компилятор запоминает названия и cfg-условия этих элементов, поэтому может, например, сообщать о функциях, которые вы пытались вызвать, но которые оказались недоступны, потому что были отключены в крейте. Чтобы защитить пользовательский константный код от попадания в вечный цикл или любого другого бесконечного события во время компиляции, Rust ранее ограничивал максимальное количество инструкций, выполняемых как часть любого константного вычисления. Однако особенно креативный код Rust может выйти за эти пределы и привести к ошибке компилятора. Хуже того — то, достигает ли код предела, может сильно варьироваться в зависимости от библиотек, вызываемых пользователем. Если библиотека, которую вы вызвали, разделит инструкцию на две в рамках одной из своих функций, ваш код может не скомпилироваться вовсе. Теперь вы можете выполнять неограниченное количество константных вычислений во время компиляции. Чтобы избежать длительной компиляции без обратной связи, компилятор всегда будет выдавать сообщение после того, как ваш код будет запущен, и повторять это сообщение через некоторый промежуток времени, который каждый раз будет удваиваться. По умолчанию компилятор также вызывает проверку deny-by-default (const_eval_long_running) после большого количества шагов, чтобы перехватить бесконечные циклы, но вы можете разрешить особенно длинное константное вычисление при помощи allow(const_eval_long_running). Некоторые проверки перешли из Clippy в rustc: clippy::undropped_manually_drops в undropped_manually_drops (deny) clippy::invalid_utf8_in_unchecked в invalid_from_utf8_unchecked (deny) и invalid_from_utf8 (warn) clippy::cmp_nan в invalid_nan_comparisons (warn) clippy::cast_ref_to_mut в invalid_reference_casting (allow) Следующие API теперь возможно использовать в контексте const: Проверьте всё, что изменилось в Rust, Cargo и Clippy. В будущем выпуске мы планируем поднять минимально поддерживаемую версию Windows до 10. Принятое в компиляторе предложение MCP 651 заключается в том, что Rust 1.75 будет последней версией, официально поддерживающей Windows 7, 8, и 8.1. Когда в феврале 2024 года выйдет Rust 1.76, он будет поддерживать только Windows 10 и более поздние версии как целевые платформы первого уровня поддержки. Многие люди собрались вместе, чтобы создать Rust 1.72.0. Без вас мы бы не справились. Спасибо! С любыми вопросами по языку Rust вам смогут помочь в русскоязычном Телеграм-чате или же в аналогичном чате для новичковых вопросов. Если у вас есть вопросы по переводам или хотите помогать с ними, то обращайтесь в чат переводчиков. Данную статью совместными усилиями перевели TelegaOvoshey и funkill. Язык программирования