BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Rust 1.46.0 リリース

Rust 1.46.0 リリース

ブックマーク

原文(投稿日:2020/09/02)へのリンク

RustaceansのコミュニティはRustのバージョンを1.46.0に8月末にバージョンアップした。Rustは、当初Mozillaで開発されたシステムのプログラミング言語である。Rustは、人気のTIOBE indexのトップ20のプログラミング言語に入った。Rustは6週間ごとにリリースされるため、機能の数はコンパクトであり、Rustの言語、コンパイラ、またはライブラリで重要な機能強化または安定化が行われている。このリリースでは、const fn書き込み機能が強化され、#[track_caller]が安定している。これにより、標準ライブラリへのエラー処理と複数の追加または安定化が改善される。機能の全リストは、言語のGitHubページにある。

静的コンテキストで使用できるコア言語機能が拡張されたため、このリリースから静的コンテキストで、条件付き演算子 (if、if letとmatch)、ループ (while、while letとloop)、およびビットごとの演算子(&&と||) を使用できる。スライスをキャストして強制したり、mem::transmuteを使用することもできる。これらの言語機能は新しいものではありませんが、主な利点はパフォーマンスにある。たとえば、Microsoftでの検証中に、R++のMicrosoft WinRTバインディングがC++実装と比較して40倍向上した。同じ考えに従って、std::mem::forgetメソッドもconst fnになった

AppleのiOSまたはtvOSプラットフォームをターゲットとするRustaceansには、Rust 1.46に興奮する理由がある。Apple iOSおよびtvOSプラットフォームに動的リンクを使用可能になった。これは、Apple iOSおよびtvOSプラットフォームでcdylibターゲットを許可することで可能になる。

3月に戻って、Rust 1.42は、不安定ではあったが、改善されたエラーメッセージを導入した。パニックする可能性のあるunwrapなどの関数を作成している場合は、このアノテーションを関数に付けることができる。デフォルトのパニックフォーマッタは、呼び出し元をエラーメッセージの場所として使用する。現在のRust 1.46ではこれが安定化されている。

また、安定性の側面では、API側でOption::zipおよびvec::Drain::as_sliceが現在のバージョンで安定化された。ライブラリ側でも同様に変更が行われ、String implements From<char>により次の構造の書き込みが可能になる:

fn char_to_string() -> String {
  'a'.into()
}

べての非ゼロ整数型 (NonZeroU8) は、ゼロが許される同等のTryFromを実装 (例:TryFrom<u8>) するか、&[T]および&mut [T]がPartialEq<Vec<T>>を実装する。

それで、試したい場合は、コマンドライン端末でrustup update stableと入力してください。これにより、Rustのバージョンが1.46.0に更新される。rustupがまだシステムにない場合は、Rustのページからインストールしてください。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT