「Rust Coreutils 0.11.0」リリース ─ 新しいエラー診断を導入

28コマンドに対応、PGOによる高速化とGNU互換性の改善も

9月2日 1:01

 uutils projectは8月31日(現地時間)、「Rust Coreutils 0.11.0」をリリースした。

 「Rust Coreutils」は、GNU Coreutilsに含まれる基本的なコマンドをRustで再実装するオープンソースプロジェクト。GNU Coreutilsとの互換性を維持しながら、クロスプラットフォーム対応、安全性、性能の向上を進めている。

 「Rust Coreutils 0.11.0」では、コンパイラのようにエラーの発生箇所を示す診断機能が導入された。また、プロファイルに基づく最適化、GNUとの互換性向上、シンボリックリンクやTOCTOU競合状態に関する安全性の強化などが行われている。

 「Rust Coreutils 0.11.0」のハイライトは次の通り。
〇エラー箇所をキャレットで示す新しい診断機能を導入
〇test、chmod、tr、sort、cutなど28コマンドに対応
〇エラー内容に応じて正しい構文や修正候補を表示
〇環境変数「UUTILS_DIAG」で診断表示を制御可能に
〇Linux、macOS、Windows向けリリースビルドでPGOを有効化
〇PGOによって処理性能を最大31%改善
〇GNUテストスイートで653件のテストに成功
〇テスト実行中にエラーとなる項目をゼロに
〇複数のGNU互換オプションおよび動作を追加
〇cp、mv、rm、chmodなどのファイル操作を安全化
〇複数のパニック、ハング、整数オーバーフローを修正
〇WindowsおよびWASIへの対応を改善
など。

 従来のUnixコマンドは、エラーが発生すると標準エラー出力へ短いメッセージを表示していた。今回、Rust Coreutilsでは、入力された引数を再表示し、問題がある文字や範囲をキャレットで示す診断機能を導入した。利用可能な構文や修正候補も併せて表示される。描画には、Rust向け診断表示ライブラリ「ariadne」が使用されている。この機能は、標準エラー出力が端末へ接続されている場合にのみ既定で有効となる。スクリプト、パイプ、テスト環境では従来通り1行のエラーメッセージが出力され、終了コードも変更されない。このため、エラーメッセージを処理する既存のスクリプトとの互換性が維持される。

 新しい診断機能は、今後uutilsのfindutilsやsedにも導入される予定。

 環境変数「UUTILS_DIAG」には「always」「never」「auto」を指定できる。「always」ではファイルやパイプへ出力する場合も詳細な診断を表示し、「never」では端末上でも従来形式のメッセージを使用する。

 「Rust Coreutils 0.11.0」は、GitHubから入手できる。

(川原 龍人/びぎねっと)

[関連リンク]
Release(GitHub)
uutils coreutils Document

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30