Rust: НС примСняйтС Π·ΠΌΠ΅ΠΈΠ½Ρ‹ΠΉ рСгистр для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 9 ΠΎΠΊΡ‚. 2017  Β·  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

Π― понимаю, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ для ящиков Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ соблюдСниС ΠΎΠ±Ρ‰Π΅Π³ΠΎ соглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ€ΠΆΠ°Π²Ρ‡ΠΈΠ½Ρ‹ ΠΈ исходного ΠΊΠΎΠ΄Π°. Но Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого смысла ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ это ΠΈ для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этом Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСимущСства (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ имя ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π΅ camelCase, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°).


$ 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. НС примСняйтС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·ΠΌΠ΅ΠΈΠ½ΠΎΠ³ΠΎ случая ΠΏΡ€ΠΈ создании Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
  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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ