Rust 1.46 ការចេញផ្សាយភាសាសរសេរកម្មវិធី

បោះពុម្ពផ្សាយ ចេញផ្សាយ 1.46 នៃភាសាសរសេរកម្មវិធីប្រព័ន្ធ ច្រែះបង្កើតឡើងដោយគម្រោង Mozilla ។ ភាសាផ្តោតលើសុវត្ថិភាពនៃការចងចាំ ផ្តល់នូវការគ្រប់គ្រងអង្គចងចាំដោយស្វ័យប្រវត្តិ និងផ្តល់ឧបករណ៍សម្រាប់ការសម្រេចបាននូវកិច្ចការស្របគ្នាខ្ពស់ដោយមិនប្រើឧបករណ៍ប្រមូលសំរាម និង ពេលរត់.

ការគ្រប់គ្រងអង្គចងចាំដោយស្វ័យប្រវត្តិរបស់ Rust លុបបំបាត់កំហុសនៅពេលរៀបចំទ្រនិច និងការពារប្រឆាំងនឹងបញ្ហាដែលកើតឡើងពីការរៀបចំអង្គចងចាំកម្រិតទាប ដូចជាការចូលប្រើតំបន់អង្គចងចាំបន្ទាប់ពីវាត្រូវបានដោះលែង ការបដិសេធទ្រនិចទទេ ការដំណើរការលើសចំណុះ។ល។ កម្មវិធីគ្រប់គ្រងកញ្ចប់កំពុងត្រូវបានបង្កើតឡើងដើម្បីចែកចាយបណ្ណាល័យ ធានាការប្រមូលផ្តុំ និងគ្រប់គ្រងភាពអាស្រ័យដោយគម្រោង។ ទឹកអាកាសអនុញ្ញាតឱ្យអ្នកទទួលបានបណ្ណាល័យដែលត្រូវការសម្រាប់កម្មវិធីដោយចុចតែម្តង។ ឃ្លាំងមួយត្រូវបានគាំទ្រសម្រាប់បង្ហោះបណ្ណាល័យ 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

បន្ថែមមតិយោបល់