はじめに cargo workspace とは、複数のパッケージを一つのプロジェクトとして扱う機能です。 パッケージを分割しワークスペースで管理することで、保守性や再利用性が上がるなどのメリットがある一方で、 Cargo.toml の管理が多少面倒に感じることもあります。 この記事では、そういった面倒さを少しでも解消する方法を紹介します。 [workspace.package] でパッケージの情報をまとめる パッケージは必ず Cargo.toml を持ち、そこにビルドの依存関係や、crates.io に公開する際に使われる情報などを記述する必要があります。これは、ワークスペースを使う場合も例外ではありません。 その一方で、ライセンスやリポジトリの情報など、ワークスペース内で全てに共通するものもあります。 こういったときに使えるのが、 Rust 1.64 で導入されたワークスペース内の継承で