開発チームは Rust 1.36 の導入を楽しみにしています。

Rust 1.36 の新機能は何ですか?
Future トレイトが新しいトレイトから安定しました: crate alloc、MaybeUninit、 Rust 2015 の NLL、HashMap の新しい実装、および Cargo の新しいフラグ -offline。


そして今より詳細に:

  • ついにRust 1.36で 安定した 特性未来。
  • クレートの割り当て。
    Rust 1.36 の時点では、グローバル アロケータ (Vec など) に依存する std の部分は alloc クレート内にあります。これで、std はこれらの部分を再エクスポートします。 詳しくはこちら.
  • mem::uninitialized ではなく Uninit かもしれません。
    以前のリリースでは、 mem::uninitialized を使用すると初期化チェックをバイパスでき、遅延配列割り当てに使用されていましたが、この関数は非常に危険です (もっと) なので、MaybeUninit 型が安定し、より安全になりました。
    まあ、MaybeUninit がより安全な代替手段であるため、Rust 1.38 以降では、mem::uninitialized は非推奨の関数になります。
    未初期化メモリについて詳しく知りたい場合は、Alexis Beingessner によるこのブログ投稿を参照してください。
  • Rust 2015 の NLL。
    発表では 錆1.31.0 開発者は、借用チェッカーをよりスマートでユーザーフレンドリーにする言語の改善である NLL (Non-Lexical Lifetime) について教えてくれました。例:
    fn main() {
    mut x = 5 とします。
    y = &x; とします。
    z = &mut x; とします。 // これは 1.31.0 より前では許可されませんでした。
    }

    1.31.0 では、NLL は Rust 2018 でのみ動作し、開発者は Rust 2015 でサポートを追加することが約束されていました。
    NLL について詳しく知りたい場合は、こちらをご覧ください。 ブログエントリ (フェリックス・クロックス)。

  • Cargo の新しいフラグは -offline です。
    Rust 1.36 では、Cargo の新しいフラグが安定しました。 --offline フラグは、後でオフラインで使用できるように、ローカルにキャッシュされた依存関係を使用するように Cargo に指示します。必要な依存関係がオフラインで利用できず、インターネットが依然として必要な場合、Cargo はエラーを返します。依存関係を事前にダウンロードするには、cargo fetch コマンドを使用します。これにより、すべての依存関係がダウンロードされます。
  • それは 変更のより詳細な概要を読むことができます。

標準ライブラリにも変更があります。

その他の変更 さび, 貨物 и クリピ.

出所: linux.org.ru

コメントを追加します