開発チームは Rust 1.36 の導入を楽しみにしています。
Rust 1.36 の新機能は何ですか?
そして今より詳細に:
- ついに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 コマンドを使用します。これにより、すべての依存関係がダウンロードされます。 - それは 変更のより詳細な概要を読むことができます。
標準ライブラリにも変更があります。
- dbg!() マクロは複数の引数を取れるようになりました。
- いくつかの API が const としてマークされるようになりました。
- 安定化された新しい API:
- 標準ライブラリに対するその他の変更点はここにあります。 ここで.
出所: linux.org.ru