Сценарий
Я создаю новый проект автомобиля go с командной строкой: cargo new --lib hyphen-crate
.
Файл src/lib.rs
содержит функцию:
pub fn add(a: u32, b: u32) -> u32 {
a + b
}
Файл tests/addition.rs
содержит функцию теста:
use hyphen_crate::add;
#[test]
fn addition_test() {
assert_eq!(5, add(2, 3));
}
Автомобиль go .toml
[package]
name = "hyphen-crate"
version = "0.1.0"
authors = ["xolve"]
edition = "2018"
[dependencies]
Вопрос
Я искал его в Интернете и видел много дискуссий о том, следует ли разрешать дефисы в именах ящиков или пакетов, но ни одна ссылка не упоминает о решении.
Вот что я вижу, это имя ящика hyphen-crate
автоматически преобразуется в подчеркивание как hyphen_crate
и успешно компилируется и тестируется.
Почему это возможно и каковы правила именования в таком неоднозначном сценарии ios?