Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ 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
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ Π΄Π»Ρ ΡΡΠΈΠΊΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΆΠ°Π²ΡΠΈΠ½Ρ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΎ ΠΈ Π΄Π»Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π΅ camelCase, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°).
$ 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)]
Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅, ΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΡΡ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΡΡΠΈΠΊΠ°.