現在、次のようなCargo.tomlがある場合:
[package]
name = "some_package"
version = "0.0.0"
[[bin]]
name = "somePackage"
path = "src/main.rs"
rustcは文句を言うでしょう:
warning: crate `somePackage` should have a snake case name such as `some_package`
|
= note: #[warn(non_snake_case)] on by default
rustライブラリとソースコードに共通の命名規則を適用するために、これがライブラリクレートにとって合理的である理由を理解しています。 ただし、これをバイナリに適用することにはあまり意味がありません。そうすることには実際の利点がないためです(クレート名はキャメルケースではなく、バイナリ名のみであることに注意してください)。
$ rustc --version
rustc 1.22.0-nightly (05f8ddc46 2017-10-07)
私は実際にこれを掘り下げていて、Rustチームがそれが起こるべきであることに同意するならば、それを喜んで引き受けます。
現在、バイナリを作成すると、 [[bin]]::name
が--crate-name
引数として渡されます。 私はこれに取り組む2つの方法を考えました。
--bin-name
フラグを追加します。 デフォルトは--crate-name
に戻ります。 これには、貨物との調整が必要になります。個人的には2が好きです。
ポリシーは、実行可能ファイルとcdylibにも同様に適用する必要があります。
クレート名のみの#[warn(non_snake_case)]
をオフにできると便利です。 トップレベルで#![allow(non_snake_case)]
を使用すると、クレート全体のリントが無効になります。
ポリシーは、実行可能ファイルとcdylibにも同様に適用する必要があります。
クレート名のみの
#[warn(non_snake_case)]
をオフにできると便利です。 トップレベルで#![allow(non_snake_case)]
を使用すると、クレート全体のリントが無効になります。
同意します。貨物の積み上げ中にクレート名のこの警告を無効にする方法はありますか?
最も参考になるコメント
ポリシーは、実行可能ファイルとcdylibにも同様に適用する必要があります。
クレート名のみの
#[warn(non_snake_case)]
をオフにできると便利です。 トップレベルで#![allow(non_snake_case)]
を使用すると、クレート全体のリントが無効になります。