これは私にはかなり合理的なように思えますが、プロジェクトごとのことである可能性が高いため、Cargo.tomlに含める必要があると言っても過言ではありません。
プロジェクト設定にすることの1つの欠点(?)は、依存関係に対して設定が常に無視されることです。 例:プロジェクトPがクレートDに依存していて、DがTをデフォルトのターゲットとして設定している場合、Dは常にPに選択したターゲット用にコンパイルされるため、その設定は常に無視されます。
.cargo / configを使用する利点の1つは、ローカルで複数のクレートを開発している場合、次のような設定ができることです。
$ tree .
my-RTOS-project
├── .cargo
│ └── config
├── allocator
│ └── (...)
├── hal
│ └── (...)
├── RusTOS
│ └── (...)
└── scheduler
└── (...)
そして、あるクレートディレクトリから別のクレートディレクトリにジャンプして、 cargo test
ます。 ある時点で、.cargo / configの1行を編集して、別のターゲットのクレートのテストを開始できます。
ああ、確かに! これはhttps://github.com/rust-lang/cargo/issues/2122の範囲にいくらか当てはまりますが、それはマイナス面ではないはずですが、そこでも行うべき設計作業がまだいくつかあります。
最も参考になるコメント
これは私にはかなり合理的なように思えますが、プロジェクトごとのことである可能性が高いため、Cargo.tomlに含める必要があると言っても過言ではありません。