Rust 1.4リリース

正直なところ、 Rust 1.4に対応しています。 このリリースには、前回のリリース以降に1200のパッチが組み込まれています。 言語の安定化に主な注意が払われましたが、これは言語が理解可能な形式、構文、および標準ライブラリを取得したという事実を支持する重大な議論です。



これは、通常のGNUツールチェーンに加えて、2つのABI( Application Binary Interface )で提供される最初の安定版リリースであり、MSVCサポートが追加されました。 後者は64ビットバージョンでも引き続き利用できますが、以前のバージョンでは夜間バージョンで32ビットを使用していましたが、公式サポートはバージョン1.6で予定されています。 ボーナスとして、たとえばBufReadなどのWindowsスタイルでの行の折り返しが正しく処理されるようになりました。



その他の機能:

複数のインポートでエイリアスを使用できます。

use foo::{bar as kitten, baz as puppy}
      
      





最後に破りました:

 pub extern crate
      
      





国内のクレートを輸出することは少なくともデメテルの法律に違反するため、これは朗報です。 内部ラック構造を使用する必要がある場合は、明示的にエクスポートすることをお勧めします。 なぜこれが必要なのでしょうか?! 外部ライブラリで異なるバージョンのクレートを使用し、外部タイプで「フィード」しようとすると(たとえば、構造内のフィールドセットが変更された場合)、すべてが壊れます。



で修正されたバグ( たとえば 、1.4がフラッディングするまで、Stableで違いを確認できます)

 &'static mut
      
      





静的ライフタイムは以前はうまく機能していなかったため、変数のアクセス許可を使用した厳密なコンパイラルールがだまされる可能性がありました。



多くの変更が標準ライブラリに加えられました。 主に安定化ですが、いくつかの改善点があります。たとえば、HashMapはExtend <T:Copy>トレイトを実装するようになりました。 それでもstd :: io :: copyは、コンパイル時にサイズが不明な型で動作するようになりました。



貨物はもう少しおしゃべりになりました。

 [cargo]$ cargo update Updating registry `https://github.com/rust-lang/crates.io-index` Updating libc v0.1.8 -> v0.1.10 Updating memchr v0.1.3 -> v0.1.5 Updating num v0.1.26 -> v0.1.27 Updating rand v0.3.9 -> v0.3.10 Updating rustc-serialize v0.3.15 -> v0.3.16
      
      





ちなみに、私は週に一度プロジェクトの依存関係を更新しますが、常に何か新しいものがあります。Rustコミュニティは現在も発展していると感じていますが、最も重要なことは、それから何も中断しないことです。



次のリリースは2015年12月10日に予定されています。今年はサンタクロースが少し早くRustプログラマーにプレゼントを提供します)



All Articles