BT

Rust 1.14リリース,WebAssemblyの実験的サポートとrustup 1.0を提供

| 作者: Sergio De Simone フォローする 14 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2017年1月25日. 推定読書時間: 3 分 |

原文(投稿日:2016/12/23)へのリンク

Rust 1.14が新たな実験対象としてWebAssemblyを導入するとともに,パターンマッチング構文を拡張する,とRustコアチームが伝えている。 さらにrustupが安定版となり,ソースからRustを構築する推奨手段となった。

多くのプラットフォームで利用可能なハードウェアの共通機能上でネイティブに近い実行速度を実現するための,低レベルでポータブルなバイトコードであるWebAssemblyが,新しいwasm32-unknown-emscriptenを通じてRustでサポートされるようになった。これによって開発者は,次のようにRustをWebAssemblyにコンパイルできるようになる。

$ rustup target add wasm32-unknown-emscripten
$ echo 'fn main() { println!("Hello, Emscripten!"); }' > hello.rs
$ rustc --target=wasm32-unknown-emscripten hello.rs

このコマンドはnodeで実行可能なhello.jsファイルを出力する。WebAssemblyのサポートはexperimentalとされており,RustのI/Oスタックなど一部のRustランタイムはまだ使用できない。WebAssemblyサポートにはemscriptenが必要であり,次のコマンドを実行してインストール可能だ。

curl -O https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz
tar -xzf emsdk-portable.tar.gz
source emsdk_portable/emsdk_env.sh
emsdk update
emsdk install sdk-incoming-64bit
emsdk activate sdk-incoming-64bit

言語の面では,Rust 1.0は.. パターンマッチング演算子の構文が拡張されて,該当するコンテキストの一部を選択的に無視することが可能になった。例えば,次のコードが正しく処理されるようになり,Pointタプルのyzの要素を無視して,xにマッチさせることが可能だ。

struct Point(i32, i32, i32);
let p = Point(0, 1, 2);

match p {
    Point(x, ..) => println!("x is {}", x),
}

従来の.. 演算子では,すべての要素を無視することのみが可能だった。

let p = Point(0, 1, 2);

match p {
    Point(..) => println!("found a point"),
}

Rust 1.14のもうひとつの大きな特徴はrustup 1.0で,これが安定版とみなされるようになったことだ。rustupは,Rustがサポートする数多くのプラットフォーム上で,Rustツールチェーン – rustcコンパイラや標準ライブラリなど – のさまざまなバージョンをダウンロードして切り換えるコマンドラインアプリケーションである。

Rust 1.14リリースには1,200を越えるパッチが含まれており,その詳細が公式リリースノートに記されている。

 
 

この記事を評価

関連性
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

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

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

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

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

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

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

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

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

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

ディスカッション

特集コンテンツ一覧

.NETの派生を理解する

Wayne Citrin 2018年7月18日 午前3時44分

ASP.NET Core - シンプルの力

Chris Klug 2018年6月4日 午前3時26分

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


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

Follow

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

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

Like

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

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

Notifications

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

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

BT