Saat ini, jika Anda memiliki Cargo.toml seperti ini:
[package]
name = "some_package"
version = "0.0.0"
[[bin]]
name = "somePackage"
path = "src/main.rs"
rustc akan mengeluh:
warning: crate `somePackage` should have a snake case name such as `some_package`
|
= note: #[warn(non_snake_case)] on by default
Saya mengerti mengapa ini masuk akal untuk peti perpustakaan, untuk menegakkan konvensi penamaan umum untuk perpustakaan karat dan kode sumber. Tetapi tidak masuk akal untuk menerapkan ini untuk binari juga, karena tidak ada keuntungan nyata untuk melakukannya (perhatikan bahwa nama peti bukan camelCase, hanya nama binernya).
$ rustc --version
rustc 1.22.0-nightly (05f8ddc46 2017-10-07)
Saya benar-benar telah menggali yang satu ini dan akan dengan senang hati menerimanya, jika tim Rust setuju itu harus terjadi.
Saat ini, membangun biner melewati [[bin]]::name
sebagai argumen --crate-name
. Saya sudah memikirkan dua cara untuk mengatasi ini.
--bin-name
opsional yang dapat digunakan untuk menamai biner yang dihasilkan. Default kembali ke --crate-name
. Ini akan membutuhkan koordinasi dengan kargo.Secara pribadi, saya lebih suka 2.
Kebijakan harus berlaku untuk file yang dapat dieksekusi dan cdylib.
Akan sangat bagus juga jika Anda dapat mematikan #[warn(non_snake_case)]
hanya untuk nama peti. Jika saya menggunakan #![allow(non_snake_case)]
di tingkat atas, itu menonaktifkan lint untuk seluruh peti saya.
Kebijakan harus berlaku untuk file yang dapat dieksekusi dan cdylib.
Akan sangat bagus juga jika Anda dapat mematikan
#[warn(non_snake_case)]
hanya untuk nama peti. Jika saya menggunakan#![allow(non_snake_case)]
di tingkat atas, itu menonaktifkan lint untuk seluruh peti saya.
Setuju, apakah ada cara untuk menonaktifkan peringatan ini untuk nama peti saat pembuatan kargo?
Komentar yang paling membantu
Kebijakan harus berlaku untuk file yang dapat dieksekusi dan cdylib.
Akan sangat bagus juga jika Anda dapat mematikan
#[warn(non_snake_case)]
hanya untuk nama peti. Jika saya menggunakan#![allow(non_snake_case)]
di tingkat atas, itu menonaktifkan lint untuk seluruh peti saya.