Rust: バイナリ名にsnake_caseを強制しないでください

作成日 2017年10月09日  ·  3コメント  ·  ソース: rust-lang/rust

現在、次のような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)
A-lint C-feature-request

最も参考になるコメント

ポリシーは、実行可能ファイルとcdylibにも同様に適用する必要があります。

クレート名のみの#[warn(non_snake_case)]をオフにできると便利です。 トップレベルで#![allow(non_snake_case)]を使用すると、クレート全体のリントが無効になります。

全てのコメント3件

私は実際にこれを掘り下げていて、Rustチームがそれが起こるべきであることに同意するならば、それを喜んで引き受けます。

現在、バイナリを作成すると、 [[bin]]::name--crate-name引数として渡されます。 私はこれに取り組む2つの方法を考えました。

  1. バイナリを構築するときにsnake_caseルールを適用しないでください
  2. 結果のバイナリに名前を付けるために使用できるオプションの--bin-nameフラグを追加します。 デフォルトは--crate-nameに戻ります。 これには、貨物との調整が必要になります。

個人的には2が好きです。

ポリシーは、実行可能ファイルとcdylibにも同様に適用する必要があります。

クレート名のみの#[warn(non_snake_case)]をオフにできると便利です。 トップレベルで#![allow(non_snake_case)]を使用すると、クレート全体のリントが無効になります。

ポリシーは、実行可能ファイルとcdylibにも同様に適用する必要があります。

クレート名のみの#[warn(non_snake_case)]をオフにできると便利です。 トップレベルで#![allow(non_snake_case)]を使用すると、クレート全体のリントが無効になります。

同意します。貨物の積み上げ中にクレート名のこの警告を無効にする方法はありますか?

このページは役に立ちましたか?
0 / 5 - 0 評価