حاليًا ، إذا كان لديك 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
أفهم سبب كون ذلك معقولاً بالنسبة لصناديق المكتبات ، لفرض اصطلاح تسمية مشترك لمكتبات الصدأ وكود المصدر. ولكن ليس من المنطقي فرض ذلك على الثنائيات أيضًا ، حيث لا توجد ميزة حقيقية للقيام بذلك (لاحظ أن اسم الصندوق ليس حالة الجمل ، فقط الاسم الثنائي هو).
$ rustc --version
rustc 1.22.0-nightly (05f8ddc46 2017-10-07)
لقد كنت في الواقع أتعمق في هذا الأمر وسأكون سعيدًا بمتابعته ، إذا وافق فريق Rust على ذلك.
في الوقت الحالي ، يؤدي إنشاء ثنائي إلى تمرير [[bin]]::name
--crate-name
. لقد فكرت في طريقتين لمعالجة هذا.
--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)]
في المستوى الأعلى ، فسيؤدي ذلك إلى تعطيل الوبر للصندوق بأكمله.