Rust: لا تفرض snake_case للأسماء الثنائية

تم إنشاؤها على ٩ أكتوبر ٢٠١٧  ·  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

أفهم سبب كون ذلك معقولاً بالنسبة لصناديق المكتبات ، لفرض اصطلاح تسمية مشترك لمكتبات الصدأ وكود المصدر. ولكن ليس من المنطقي فرض ذلك على الثنائيات أيضًا ، حيث لا توجد ميزة حقيقية للقيام بذلك (لاحظ أن اسم الصندوق ليس حالة الجمل ، فقط الاسم الثنائي هو).


$ 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 . لقد فكرت في طريقتين لمعالجة هذا.

  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 التقييمات