Rust 1.23リリース

Rustチームは、Rustの新しいバージョン1.23.0を発表します。 Rustは、セキュリティ、速度、および並列コード実行を目的としたシステムプログラミング言語です。


Rustの以前のバージョンがインストールされている場合は、アップグレードするだけです:


$ rustup update stable 

rustupまだインストールしていない場合は、当社のWebサイトの対応するページからインストールできます。 Rust 1.23.0の詳細なリリースノートは GitHubで入手できます。


安定バージョン1.23.0に含まれるもの


新年、新しい錆! 最初の改善点は、状況によっては冗長なコピーを取り除くことです。 これらの変更により、 rustcメモリrustc量は5〜10%減少しましたが、アプリケーションの結果は異なる場合があります。


ドキュメントチームは、 rustdoc使用するための長い道のりをrustdocきました。 これ以前、 rustdocは、使用したrustdocレンダリングエンジンを保証していませんでした。 このリリースの一環として、以前のエンジンであるHoedownを使用してドキュメントを視覚化していますが、同時にCommonMark互換エンジンでドキュメントを視覚化し、さまざまな結果に対する警告を表示しています。 両方のエンジンを同時に満たすようにドキュメントの構文を変更することが不可能になる状況には、まだ遭遇していません。 文書化チームのメンバーであるギヨーム・ゴメスは、 彼のジャーナルでこれについてメモを書きました 。それは、エンジンとそれらの回避方法の間のいくつかの一般的な違いを示しています。 CommonMarkの将来のリリースでは、エンジンはデフォルトで使用されます。 この警告は、昨年5月の夜間バージョン登場し、昨年10月以降デフォルトで有効になっています。多くのパッケージ(クラテス)がすでに発生した問題を修正しています。


ドキュメントについてもう少し:歴史的に、Cargoドキュメントは少し奇妙でした。 doc.rust-lang.orgにあるのではなくdoc.crates.ioにありましたこれはこのリリースで変更されます: doc.rust-lang.org/cargoで Cargoドキュメントを見つけることができます。 このページにdoc.crates.ioからのリダイレクトを追加します。 さらに、ドキュメントは「書籍」形式に変換されました。


詳細については、リリースノートを参照してください。


標準ライブラリの安定化


Rust 1.0から、 u8char[u8]およびstr ASCII関連の機能を提供するAsciiExtトレイトがありstr 。 それを使用するには、同様のコードを書く必要がありました。


 use std::ascii::AsciiExt; let ascii = 'a'; let non_ascii = ''; let int_ascii = 97; assert!(ascii.is_ascii()); assert!(!non_ascii.is_ascii()); assert!(int_ascii.is_ascii()); 

Rust 1.23では、これらのメソッドは型に対して直接宣言されているため、型をインポートする必要はありません。 安定性の保証のおかげで、この特性は依然として存在するため、1.23より前のRustバージョンをサポートする場合は、次のように記述できます。


 #[allow(unused_imports)] use std::ascii::AsciiExt; 

...対応する警告を抑制します。 Rustの古いバージョンのサポートを放棄すると、両方の行を削除でき、すべてが機能し続けます。


また、いくつかのAPIが安定化されました。



詳細については、リリースノートを参照してください。


貨物の特徴


cargo check ユニットテストを cargo checkできるようになりました。


cargo uninstall 、1つのコマンドで複数のパッケージを削除できるようになりました


詳細については、リリースノートを参照してください。


開発者1.23.0


多くの人々がRust 1.23の開発に参加しました。 皆さん一人一人なしでは、これを達成できませんでした。 よろしくお願いします!


翻訳者: @ BORN2LOSEおよびozkriff



Source: https://habr.com/ru/post/J346106/


All Articles