BT

Rust 2018が登場、Rust 2015からの移行手段も提供

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 h_yoshida _ フォローする 1 人のフォロワー 投稿日 2018年9月17日. 推定読書時間: 2 分 | ディスカッション

原文(投稿日:2018/08/15)へのリンク

Rust 1.31に相当するRust 2018の最初のリリースが2018年12月6日に提供予定であると、Rust Core Teamが書いている。Rust 2015が最初に公開されて以降、言語を充実させてきた豊富な機能が、新たなラベルの下で統合される。

InfoQで既報のとおりRust 2018では、コンパイラのパフォーマンスや言語機能のブラッシュアップ、ツーリングやライブラリやドキュメントの改善など、言語の生産性向上に重点が置かれている。Rust 2018の新たな言語機能には、impl Traitやmacros 2.0、SIMDのサポート、ジェネレータ、非語彙(non-lexical)ライフタイム、async/awaitのサポート、モジュールの改造など、最近のRustリリースで浮上したものや、あるいはRust 1.31に続く次期リリースに向けたものが含まれている。

最も注目すべきなのは、Rust 2018では、既存のRust 2015コードとの互換性を損なう言語変更を優先するため、安定性に関する保証を緩和する予定であることだ。例えば、Rust 2018ではtryキーワードが導入される予定だが、一部のコードでは関数名や変数名と競合する可能性がある。

この種の可能性に対処して、Rust 2015からRust 2018への移行を支援する方法は、C++やJavaの手順に倣う予定である。具体的には次のようなことだ。

  • Rust 2018はオプトインになる予定である。既存のプロジェクトでRust 2018を使用する場合は、プロジェクトのcargo.tomledition = ‘2018’を加えればよい。editionキーが使用されていなければ、Rustコンパイラは既定値としてRust 2015を使用する。cargo newで新たに生成されるすべてのプロジェクトには、デフォルトでediton = ‘2018’が設定される。

  • RustコンパイラがRust 2015とRust 2018の両方をサポート可能であるため、問題なく両エディションを同一プロジェクトの依存関係に混在させることができる。Rust 2018プログラムでRust 2015の依存関係を使用することや、Rust 2015プロジェクトでRust 2018の依存関係を使用することが可能だ。

  • 言語のコアは変更されいない。Rust 2018には前述のtryキーワードや、いくつかの警告がエラーに変更されたというような、表面レベルの変更のみが含まれている。

Rust 2018にはさらに、既存のコードベースを変換して、Rust 2018の新たな機能やイディオムの段階的な導入を可能にするための新ツールであるcargo fixが含まれている。

関連する記事として、Rust Core Teamは先日、グローバルアロケータを導入したRust 1.28をリリースしている。開発者がシステムのアロケータに代わる独自のメモリアロケータを提供することが可能である他、メモリの最適化を可能にするNonZero数値型が追加され、エラーメッセージと書式設定が改善されている。

 

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント Watch Thread

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

特集コンテンツ一覧

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT