Rhyddhau Rust 1.89. Tua 8% o becynnau src yn Debian Mae Sid wedi'u clymu i Rust

Mae iaith raglennu Rust 1.89, a sefydlwyd gan brosiect Mozilla ond a ddatblygwyd bellach dan nawdd Sefydliad Rust annibynnol di-elw, wedi'i rhyddhau. Mae'r iaith yn canolbwyntio ar ddiogelwch cof ac yn darparu offer ar gyfer cyflawni cyfochrogrwydd uchel o ran gweithredu tasgau, gan wneud heb ddefnyddio casglwr sbwriel ac amser rhedeg (mae'r amser rhedeg wedi'i leihau i gychwyn sylfaenol a chynnal a chadw'r llyfrgell safonol).

Mae dulliau trin cof Rust yn arbed y datblygwr rhag gwallau wrth drin awgrymiadau ac yn amddiffyn rhag problemau sy'n codi oherwydd trin cof lefel isel, megis cyrchu man cof ar Γ΄l iddo gael ei ryddhau, dadgyfeirio awgrymiadau nwl, gor-redeg byffer, ac ati. Er mwyn dosbarthu llyfrgelloedd, darparu adeiladu a rheoli dibyniaethau, mae'r prosiect yn datblygu rheolwr pecyn Cargo. Cefnogir ystorfa crates.io ar gyfer cynnal llyfrgelloedd.

Darperir diogelwch cof yn Rust ar amser casglu trwy wirio cyfeiriadau, cadw golwg ar berchnogaeth gwrthrychau, cadw golwg ar oes gwrthrychau (scopes), ac asesu cywirdeb mynediad cof wrth weithredu cod. Mae Rust hefyd yn darparu amddiffyniad rhag gorlifiadau cyfanrif, yn gofyn am ymgychwyn gorfodol o werthoedd amrywiol cyn ei ddefnyddio, yn trin gwallau yn well yn y llyfrgell safonol, yn cymhwyso'r cysyniad o gyfeiriadau a newidynnau digyfnewid yn ddiofyn, yn cynnig teipio statig cryf i leihau gwallau rhesymegol.

Prif arloesiadau:

  • Wedi darparu'r gallu i ddefnyddio'r symbol "_" fel dadl i baramedrau generig gyda'r faner "const" i gasglu gwerthoedd y paramedrau hyn yn seiliedig ar y cyd-destun cyfagos. pub fn all_false () -> [bool; LEN] { [ ffug; _ ] }
  • Ychwanegwyd rhybudd lint newydd "mismatched_lifetime_syntaxes" i ddatrys y broblem o ddiffiniad oes nad yw'n amlwg mewn llofnodion ffwythiannau wrth ddefnyddio'r mecanwaith "dileu oes" (yn pennu oes cyfeiriadau yn awtomatig, gan ganiatΓ‘u ichi wneud heb ei nodi Γ’ llaw). Mae'r rhybudd yn gwirio bod paramedrau mewnbwn ac allbwn ffwythiant yn perthyn i'r un grΕ΅p math. Mae'r grwpiau'n cael eu ffurfio yn seiliedig ar gefnogaeth ar gyfer manyleb oes benodol a'r gallu i gasglu oes yn awtomatig gan y crynhoydd (er enghraifft, yn y mathau "&'a T" a "ContainsLifetime<'a>" gall yr oes fod yn bresennol yn benodol, ond ni all y crynhoydd bennu'r oes yn awtomatig, tra yn y mathau "&T", "&'_ T" a "ContainsLifetime<'_>" caniateir manyleb benodol a phenderfyniad awtomatig).
  • Mae'r priodoledd "target_feature" ar gyfer systemau x86 yn gweithredu'r gallu i wirio am gefnogaeth ar gyfer y setiau cyfarwyddiadau estynedig sha512, sm3, sm4, kl, a widekl, yn ogystal Γ’ nodweddion avx512 unigol. #[target_feature(enable = "avx512bw")] pub fn cool_simd_code(/* .. */) -> /* … */ { /* … */ }
  • Sicrhawyd bod doctest (profion sydd wedi'u hymgorffori yn y ddogfennaeth) yn rhedeg nid yn unig ar gyfer y platfform targed cyfredol, ond hefyd ar gyfer llwyfannau eraill a bennir wrth redeg y rheolwr pecynnau "cargo" ("cargo test --doc --target other_target").
  • Ar gyfer swyddogaethau 'extern "C"' wrth adeiladu ar gyfer y targed "wasm32-unknown-unknown", gweithredir yr C ABI safonol ar gyfer WebAssembly.
  • Gyda rhai rhybuddion ynghylch cydnawsedd mathau, caniateir defnyddio mathau i128 ac u128 mewn ffwythiannau C allanol (extern "C"), a gynhyrchodd y rhybudd lint "improper_ctypes_definitions" yn flaenorol, bellach.
  • Mae cyfran newydd o'r API wedi'i symud i'r categori stabl, gan gynnwys dulliau a gweithrediad nodweddion wedi'u sefydlogi:
    • Llawer o nodweddion cynhenid ​​cymholydd ar gyfer proseswyr x86, gan gynnwys swyddogaethau ar gyfer AVX512, SHA512, SM3, ac SM4.
    • DimSero
    • Ffeil::clo
    • Ffeil::cloi_wedi'i_rannu
    • Ffeil::try_lock
    • Ffeil::ceisiwch_gloi_wedi'i_rannu
    • Ffeil::datgloi
    • NonNull::from_refer
    • NonNull::from_mut
    • NonNull::heb_darddiad
    • NonNull::gyda_tharddiad_datgeledig
    • NonNull::datgelu_tarddiad
    • OsString::gollyngiad
    • PathBuf::gollwng
    • Canlyniad::gwastatΓ‘u
    • std::os::linux::net::TcpStreamExt::quickack
    • std::os::linux::net::TcpStreamExt::set_quickack

    Defnyddir yr arwydd β€œconst” mewn swyddogaethau:

    • <[T; N]>::as_mut_sleisen
    • <[u8]>::eq_ignore_ascii_case
    • str::eq_ignore_ascii_case
  • Mae'r broses o symud y platfform targed "x86_64-apple-darwin" o'r lefel gyntaf o gefnogaeth i'r ail wedi dechrau (mae Apple yn bwriadu rhoi'r gorau i gefnogi'r bensaernΓ―aeth x86_64). Mae'r lefel gyntaf o gefnogaeth yn awgrymu ffurfio cynulliadau deuaidd, cynnal profion trylwyr a darparu'r warant uchaf o gefnogaeth i'r platfform - mae pob newid yn y crynhoydd yn cael ei wirio trwy redeg cyfres brawf lawn. Mae'r ail lefel o gefnogaeth yn awgrymu gwarant o'r cynulliad, ond dim gwarantau wrth basio'r gyfres brawf.
  • Mae'r drydedd lefel o gefnogaeth ar gyfer y llwyfannau "loongarch32-unknown-none" a "loongarch32-unknown-none-softfloat" wedi'i gweithredu. Mae'r drydedd lefel yn awgrymu cefnogaeth sylfaenol, ond heb brofion awtomataidd, cyhoeddi adeiladau swyddogol, a gwirio'r gallu i adeiladu cod.

Yn ogystal, gallwn dynnu sylw at rai digwyddiadau a phrosiectau sy'n gysylltiedig Γ’ Rust:

  • Mae adroddiad statws pecyn Rust wedi'i gyhoeddi. DebianNodwyd bod yn y gangen Debian Ansefydlog (Sid) - mae gan tua 8% o becynnau src yn y brif storfa ddibyniaethau adeiladu ar o leiaf un pecyn "librust-*". Debian Roedd 12 pecyn o'r fath yn cyfrif am 4.5%. Nodwyd hefyd fod mwy na 3 o becynnau'n cynnwys cod Rust, wedi'i echdynnu i becynnau librust-..-dev, a bod 150 o becynnau src yn darparu ffeiliau gweithredadwy neu lyfrgelloedd Rust wedi'u crynhoi.

    O ddiddordeb i Debian Mae'r pecynnau a grybwyllir yn cynnwys sudo-rs, ntpd-rs, uutils, Sequoia, rpgp, hickory (DNS), Rustls, rav1d, a fish. Mae cefnogaeth Rust ddewisol wedi'i gweithredu yn APT, QEMU (virtiofsd), a'r cnewyllyn. Linux a Mesa, ac mae disgwyl iddo fod yn LibreOffice hefyd. I drosi pecynnau crate yn becynnau src Debian Mae pecyn cymorth debcargo wedi'i weithredu.

  • Cyflwynir y prosiect tmux-rs, sy'n datblygu clΓ΄n o'r amlblecsydd terfynell tmux (rheolwr ffenestri consol), wedi'i ailysgrifennu o C i Rust.
  • Mae datblygwr y gyrrwr Tyr o Collabora wedi cyhoeddi erthygl am strwythur gyrwyr GPU lefel cnewyllyn ac egwyddorion datblygu gyrwyr o'r fath yn yr iaith Rust.
  • Dangoswyd cymhwysiad Rust cyffredinol, sy'n gallu rhedeg ar CPU ac ar wahanol lwyfannau GPU: CUDA ar gyfer NVIDIA, SPIR-V ar gyfer GPUs sy'n galluogi Vulkan, Metal ar gyfer Apple, DirectX 12 ar gyfer Windows, WebGPU ar gyfer porwyr.

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd Γ’ diogelwch DDoS, gweinyddwyr VPS VDS πŸ”₯ Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster