Weşana Zimanê Bernamesaziyê Rust 1.46

weşandin serbestberdana 1.46 ya zimanê bernameya pergalê Zingar, ji hêla projeya Mozilla ve hatî damezrandin. Ziman balê dikişîne ser ewlehiya bîranînê, rêveberiya bîranînê ya otomatîkî peyda dike, û amûran peyda dike ji bo bidestxistina paraleliya peywira bilind bêyî karanîna berhevkarek çopê û davêjin.

Rêvebiriya bîranîna otomatîkî ya Rust di dema manîpulekirina nîşankeran de xeletiyan ji holê radike û li hember pirsgirêkên ku ji manîpulasyona bîranînê ya nizm derdikevin diparêze, wek mînak gihîştina herêmek bîranînê piştî ku ew azad bû, veqetandinên nîşangirên betal, zêdekirina tampon, hwd. Rêvebirek pakêtê ji bo belavkirina pirtûkxaneyan, misogerkirina civîn û birêvebirina girêdanên ji hêla projeyê ve tê pêşve xistin. Bar, dihêle hûn pirtûkxaneyên ku ji bo bernameyê hewce ne bi yek klîk bistînin. Depoyek ji bo pirtûkxaneyên mêvandar tê piştgirî kirin crates.io.

sereke nûbûnên:

  • Расширены возможности функций, определённых с использованием выражения «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 zêde kirin поддержка новых переменных окружения, устанавливамых при компиляции пакета: CARGO_BIN_NAME (имя результирующего исполняемого файла), CARGO_CRATE_NAME (имя пакета), CARGO_PKG_LICENSE (лицензия, указанная в манифесте), CARGO_PKG_LICENSE_FILE (путь к файлу с лицензией).

Source: opennet.ru

Add a comment