Rust-1.8の新しいバージョンをご紹介します。 Rustは、メモリ、速度、およびコードの並列実行による安全な作業を目的としたシステムプログラミング言語です。
通常どおり、公式Webサイトの対応するページからRust 1.8をインストールできます。また、GitHubでこのバージョンの変更点の詳細なリストを確認できます。 このリリースには、約1,400のパッチが含まれています。
安定バージョン1.8に含まれるもの
このリリースには2つの新機能が含まれており、Windowsユーザーにも朗報です! また、ビルドシステムのmake
をCargoに置き換えmake
います。
まず、 +=
や-=
などのさまざまな複合代入演算子が、対応する特性を介してオーバーロードできるようになりました。 この変更はRFC 953の結果であり、次のとおりです。
use std::ops::AddAssign; #[derive(Debug)] struct Count { value: i32, } impl AddAssign for Count { fn add_assign(&mut self, other: Count) { self.value += other.value; } } fn main() { let mut c1 = Count { value: 1 }; let c2 = Count { value: 5 }; c1 += c2; println!("{:?}", c1); }
このコードはCount { value: 6 }
を出力します。 他の特性演算子と同様に、関連する型を使用すると、演算子の両側で異なる型を使用できます。 詳細については、RFCを参照してください。
2番目のオプションははるかに単純で、 RFC 218の結果です。 Rustのバージョン1.8より前では、データのない構造体は中括弧を使用できませんでした。
struct Foo;
これからは、2番目のオプションはエラーになりません。 当初、これは他の「空の広告」との統一と曖昧さの解析のために禁止されていました。 ただし、1.0のRustの次のバージョンではあいまいさの問題が解決され、マクロの作成者は両方のケースをサポートする必要があるため、さらに困難に直面しました。 さらに、活発な開発では、空の構造から空でない構造へ、またはその逆に切り替える必要が定期的に発生し、追加の作業につながり、パッチの変更の認識を複雑にします。
スタックプロモーションは、32ビットMSVCビルド用に実装されました。 これにより、 i686-pc-windows-msvc
が主要プラットフォームのカテゴリーに分類されます。
長い間make
を使用make
てRustを構築していましたが、Rustプログラムを構築するためのすばらしいツールであるCargoがあります。 バージョン1.8では、Rustで記述され、Cargoをベースとして使用する新しいビルドシステムの初期サポートが導入されました。 このシステムはデフォルトではまだ使用されておらず、多くの作業が残っています。 終了が近づいたらお知らせしますが、今のところ、詳細に興味がある場合はGitHubをご覧ください。
ライブラリの安定化
バージョン1.8では、約20の関数とメソッドが安定化されました。これらは、UTF-16のサポート、時間を操作するためのさまざまな関数、上記のオペレーターオーバーロードの追加特性の3つの主要グループに分類できます。
貨物の特徴
いくつかの改善が行われました。
詳細については、 完全な変更ログを参照してください。
バージョン1.8開発者
バージョン1.8のリリースには126人が参加しました。 どうもありがとう!