Rust 1.60 Famoahana ny fiteny fandaharana

Navoaka ny fiteny fandaharana Rust 1.60 amin'ny tanjona ankapobeny, naorin'ny tetikasa Mozilla saingy novolavolaina ankehitriny eo ambany fiahian'ny fikambanana tsy miankina Rust Foundation. Mifantoka amin'ny fiarovana ny fitadidiana ilay fiteny ary manome fitaovana ahafahana manatratra ny fitovian'ny asa avo lenta sady misoroka ny fampiasana mpanangom-pako sy ny fotoana fandehanana (ahena ny fotoana fampandehanana amin'ny fanombohana fototra sy fikojakojana ny tranomboky mahazatra).

Ny fomba fitantanana fitadidian'i Rust dia mamonjy ny mpamorona amin'ny hadisoana rehefa manodinkodina ny tondro ary miaro amin'ny olana mipoitra noho ny fikarakarana fitadidiana ambany, toy ny fidirana amin'ny faritra fitadidiana rehefa afaka izany, ny fanafoanana ireo tondro tsy misy dikany, ny fihoaran'ny buffer, sns. Mba hizarana trano famakiam-boky, manome fananganana ary mitantana ny fiankinan-doha, ny tetikasa dia mamolavola ny mpitantana fonosana Cargo. Ny tahiry crates.io dia tohanana amin'ny fampiantranoana tranomboky.

Ny fiarovana ny fitadidiana dia omena ao amin'ny Rust amin'ny fotoana fanangonana amin'ny alΓ lan'ny fanamarinana reference, ny fanaraha-maso ny fananana zavatra, ny fanaraha-maso ny androm-piainan'ny zavatra (scopes), ary ny fanombanana ny fahamarinan'ny fidirana fahatsiarovana mandritra ny famonoana ny code. Ny Rust koa dia manome fiarovana amin'ny fihoaran'ny integer, mitaky fanombohana tsy maintsy atao ny soatoavina miovaova alohan'ny fampiasana, mitantana ny lesoka tsara kokoa ao amin'ny tranomboky mahazatra, mampihatra ny foto-kevitry ny references sy ny variables tsy miova amin'ny alΓ lan'ny default, manolotra fanoratana static mahery mba hampihenana ny fahadisoana lojika.

Fanavaozana lehibe:

  • Π’ компиляторС rustc стабилизирована основанная Π½Π° LLVM систСма для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ coverage-Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΎΡ…Π²Π°Ρ‚Π° ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ тСстировании. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ coverage-Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ сборкС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ Β«-Cinstrument-coverageΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запуская сборку ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Β«RUSTFLAGS=Β»-C instrument-coverageΒ» cargo buildΒ». ПослС запуска собранного Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ исполняСмого Ρ„Π°ΠΉΠ»Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сохранён Ρ„Π°ΠΉΠ» default.profraw, для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ llvm-profdata ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° llvm-tools-preview. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ llvm-profdata Π²Ρ‹Π²ΠΎΠ΄ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ llvm-cov для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° со свСдСниями ΠΎΠ± ΠΎΡ…Π²Π°Ρ‚Π΅ ΠΊΠΎΠ΄Π°. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ привязкС ΠΊ исходным тСкстам бСрётся ΠΈΠ· исслСдуСмого исполняСмого Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ связи coverage-счётчиков с ΠΊΠΎΠ΄ΠΎΠΌ. 1| 1|fn main() { 2| 1| println!(Β«Hello, world!Β»); 3| 1|}
  • Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ cargo стабилизирована ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π»Π°Π³Π° Β«β€”timingsΒ», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° ΠΎ Ρ…ΠΎΠ΄Π΅ сборки ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ шага. ΠžΡ‚Ρ‡Ρ‘Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сборочного процСсса.
  • Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ cargo ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ синтаксис для ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° условной компиляции ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… зависимостСй, настраиваСмого Π² Ρ„Π°ΠΉΠ»Π΅ Cargo.toml Ρ‡Π΅Ρ€Π΅Π· пСрСчислСниС списка ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… свойств Π² сСкции [features] ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ свойств Π²ΠΎ врСмя сборки ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„Π»Π°Π³Π° Β«β€”featuresΒ». Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° зависимостСй Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… пространствах ΠΈΠΌΡ‘Π½ ΠΈ слабых (weak) зависимостСй.

    Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π²Π½ΡƒΡ‚Ρ€ΠΈ сСкции Β«[features]Β» элСмСнтов с прСфиксом Β«dep:Β» для явной привязки ΠΊ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ зависимости Π±Π΅Π· нСявного прСдставлСния этой зависимости ΠΊΠ°ΠΊ свойства (feature). Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ Π·Π½Π°ΠΊΠΎΠΌ Β«?Β» (Β«package-name?/feature-nameΒ») Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ свойство Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ. НапримСр, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ свойства serde ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ зависимости Β«serdeΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ свойства Β«serdeΒ» для зависимости Β«rgbΒ», Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π³Π΄Π΅-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Β«rgbΒ»: [dependencies] serde = { version = Β«1.0.133Β», optional = true } rgb = { version = Β«0.8.25Β», optional = true } [features] serde = [Β«dep:serdeΒ», Β«rgb?/serdeΒ»]

  • Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Π°Ρ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ выпускС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ компиляции. Ошибка Π² компиляторС, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ функция Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, устранСна.
  • Π Π΅ΡˆΠ΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с прСдоставлСниСм для Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² Instant Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎΠ³ΠΎ расчёта Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ учитываСтся врСмя ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ΅ систСмой Π² спящСм Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π Π°Π½Π΅Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΏΠΎ возмоТности использовался OS API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ ситуации, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ошибки Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС.
  • Ny ampahany vaovao amin'ny API dia nafindra ho amin'ny sokajy stable, ao anatin'izany ny fomba sy ny fampiharana ny toetra efa niorina:
    • Arc::new_cyclic
    • Rc::new_cyclic
    • slice::EscapeAscii
    • <[u8]>::escape_ascii
    • u8::escape_ascii
    • Vec::spare_capacity_mut
    • MaybeUninit::assume_init_drop
    • MaybeUninit :: assume_init_read
    • i8::abs_diff
    • i16::abs_diff
    • i32::abs_diff
    • i64::abs_diff
    • i128::abs_diff
    • isize::abs_diff
    • u8::abs_diff
    • u16::abs_diff
    • u32::abs_diff
    • u64::abs_diff
    • u128::abs_diff
    • usize::abs_diff
    • Display для io::ErrorKind
    • From для ExitCode
    • Not для ! (Ρ‚ΠΈΠΏ Β«neverΒ»)
    • _Op_Assign<$t>
    • arch::is_aarch64_feature_detected!
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ mips64-openwrt-linux-musl* ΠΈ armv7-unknown-linux-uclibceabi (softfloat). Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, Π½ΠΎ Π±Π΅Π· Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования, ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сборок ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ возмоТности сборки ΠΊΠΎΠ΄Π°.
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° использованиС LLVM 14.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° раскрутки компилятора (bootstrapping) rustc ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ бэкСнда rustc_codegen_gcc, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libgccjit ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GCC Π² качСствС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π² rustc, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π² rustc ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ доступных Π² GCC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ. Под раскруткой компилятора понимаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π² rustc Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π½Π° основС GCC для сборки самого компилятора rustc. Π‘ практичСской стороны подобная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ rust-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, Ρ€Π°Π½Π΅Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² rustc.
  • ДоступСн выпуск инструмСнтария uutils coreutils 0.0.13, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ развиваСтся Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GNU Coreutils, пСрСписанный Π½Π° языкС Rust. Π’ состав coreutils Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ ста ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ΠΈ ls. ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся созданиС кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Coreutils, способной Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows, Redox ΠΈ Fuchsia, Π° Ρ‚Π°ΠΊΠΆΠ΅ распространСниС ΠΏΠΎΠ΄ пСрмиссивной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT, вмСсто ΠΊΠΎΠΏΠΈΠ»Π΅Ρ„Ρ‚-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GPL.

    Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π² Ρ‚ΠΎΠΌ числС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ cp, dd, df, split ΠΈ tr с Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNU. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° online-докумСнтация. Для Ρ€Π°Π·Π±ΠΎΡ€Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки задСйствован парсСр clap, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ для Ρ„Π»Π°Π³Π° Β«β€”helpΒ» ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Β«ls β€”colΒ» вмСсто Β«ls β€”colorΒ»).

Source: opennet.ru

Add a comment