BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Rust 1.5が”cargo install”を備えてリリース

Rust 1.5が”cargo install”を備えてリリース

原文(投稿日:2015/12/21)へのリンク

Rustコアチームが1.5の安定版をリリースした。700に近い変更点には,cargo installとメタデータサイズの20%縮小化が含まれている。

ブログ記事“Announcing Rust 1.5”の中で,コアチームはcargo installを,“Cargoアプリケーションパッケージをローカルシステムにインストールするための新しいサブコマンド”である,と説明している。

cargo installのメリットは,Rustコードをフォーマットするツールとして開発中のrustfmtなど,アプリケーションのインストールを通じてすでに提供されていますが,それだけではなく,Cargo自身に新たなサブコマンドをインストールするためにも使用できるのです。

例えば,

  • cargo-check: プロジェクトのバイナリのビルドは実施せずに,静的チェックのみを行う。
  • cargo-edit: コマンドラインからプロジェクトの依存関係の追加あるいは削除を行う。
  • cargo-graph: プロジェクトの依存グラフをGraphVizを使用して構築する。
  • cargo-watch: プロジェクト更新時にCargoコマンドを自動的に再実行する。

今回のリリースでの注目すべき点は,crates.ioでホストされたRustアプリケーションを,cargo installコマンドを使って˜/.cargo/binにローカルインストールできるようになったことだ。これは特に,Cargoを新しいサブコマンドで強化する場合に有効である。例えばcargo-fooという名称のバイナリが$PATHにあれば,cargo fooで実行することができる。

1.5安定版には互換性のない変更も含まれている。ライフタイムが特定の値より大きくなくてはならない場合を決定するルールが変更されたため,それらをパラメータ指定することができなくなった。これにより,チームが“clever”として記述したルールは,“fragile and unproven”としても参照されることになる。

今回のアップデートによってRustでは,“struct Parametri<c>のように定義されたデータ型のデストラクタにおいて,これまではfn dropがCに関してパラメトリックであると表されていたのが,Cパラメータが保持する値を参照できるように”なった。これに伴い,以前は受け入れられていたコードがrustcにリジェクトされる可能性がある。

Rust 1.5はまた,生成するメタデータを20%縮小している。コントリビュータであるarielb1コメントによると,“libcore.rlibが19121kiBから15394kiBに削減”された。

Hacker Newsでのディスカッションでは,ユーザの“Cshelton”がリリースについて意見を述べている。

まずは何よりも,おめでとう!

Rustを愛用しています。使う機会もどんどん増えています。‘cargo watch’は特にいいですね。パッケージマネージャに組み込まれたこれらのツールは,Rustを初めて経験する人にはとても役に立つでしょう。私がこれまで使ってきた言語のパッケージ管理システムの中で,Rustが最高のものだと言っていいと思います。

Rust 1.5に関する詳細は,リリースノートで確認することができる。

この記事に星をつける

おすすめ度
スタイル

BT