コマンドライン引数
コマンドラインフラグは rustc book に文書化されています。すべての stable フラグはそこで文書化されているべきです。不安定なフラグは unstable book に文書化されているべきです。
新しいコマンドライン引数を追加する手順の詳細については、 forge guide for new options を参照してください。
ガイドライン
- フラグは互いに直交しているべきです。たとえば、複数のアクション
fooとbarに JSON を出力するバリアントがある場合、--foo-jsonと--bar-jsonを追加するよりも、 追加の--jsonフラグを用意するほうが適切です。 no-プレフィックスを持つフラグは避けてください。代わりに、-C embed-bitcode=noのようにparse_bool関数を使用してください。- フラグが複数回渡された場合の挙動を検討してください。状況によっては、
値を(順番どおりに!)蓄積するべきです。他の状況では、
後続のフラグが前のフラグを上書きするべきです(たとえば、
lint レベルのフラグ)。また、一部のフラグ(
-oなど)は、 複数のフラグが何を意味するのかが曖昧すぎる場合には、エラーを発生させるべきです。 - オプションには常に長く説明的な名前を付けてください。少なくとも、 コンパイラスクリプトをより理解しやすくするためにも有用です。
--verboseフラグは、rustcの出力に詳細情報を追加するためのものです。 たとえば、--versionフラグと一緒に使用すると、 コンパイラコードのハッシュに関する情報が得られます。- 実験的なフラグとオプションは、
-Z unstable-optionsフラグの背後で保護しなければなりません。