Rhyddhau Rust 1.94. Arbrofi gyda Rust yng Nghnewyllyn FreeBSD. Cronfa Ddata Turso a VCAD yn Rust

Mae iaith raglennu Rust 1.94, 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 rheoli cof Rust wedi'u cynllunio i ddileu gwallau wrth drin pwyntyddion ac amddiffyn rhag problemau sy'n codi o reoli cof lefel isel, megis cyrchu cof ar ôl iddo gael ei ryddhau, dadgyfeirio pwyntyddion nwl, gor-redeg byffer, ac yn y blaen. Mae'r prosiect yn datblygu'r rheolwr pecynnau Cargo i ddosbarthu llyfrgelloedd, hwyluso adeiladweithiau, a rheoli dibyniaethau. Cynhelir y storfa 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:

  • Mae gan y math sleisen ddull array_windows bellach. Mae'r dull hwn yn creu iteriad ar gyfer croesi sleisys mewn ffenestri maint sefydlog sy'n symud un elfen ymlaen ar y tro. Yn wahanol i'r dull ffenestri a oedd ar gael yn flaenorol, mae array_windows yn gweithredu ar faint ffenestr cyson ac yn dychwelyd cyfeiriad at arae maint sefydlog (&[T; N]) yn lle sleisen o faint amhenodol (&[T]) ar gyfer pob iteriad. Gan fod maint yr arae yn hysbys i'r crynhoydd i ddechrau, gellir gwella perfformiad trwy osgoi gwirio ffiniau ym mhob cam iteriad. let slice = [0, 1, 2, 3]; let mut iter = slice.array_windows(); assert_eq!(iter.next().unwrap(), &[0, 1]); assert_eq!(iter.next().unwrap(), &[1, 2]); assert_eq!(iter.next().unwrap(), &[2, 3]); assert!(iter.next().is_none());
  • Mae ffeiliau ffurfweddu rheolwr pecynnau Cargo (.cargo/config.toml) yn gweithredu'r gyfarwyddeb "include", sy'n caniatáu ichi fewnosod cynnwys ffeiliau eraill yn y fan a'r lle. include = [ "frodo.toml", "samwise.toml", ] include = [ { path = "required.toml" }, { path = "optional.toml", optional = true }, ]
  • Mae cefnogaeth ar gyfer y fersiwn newydd o iaith marcio TOML 1.1 wedi'i hychwanegu at ffeiliau maniffest a ffurfweddu. Mae'r fersiwn newydd hon yn ychwanegu cefnogaeth ar gyfer tablau mewnosodedig aml-linell, y dilyniant dianc "\xHH" ar gyfer mewnosod cynrychioliadau beit hecsadegol, a'r dilyniant dianc "\e" ar gyfer "\u001B," ynghyd â'r gallu i adael coma dilynol ar ddiwedd yr elfen olaf a hepgor eiliadau mewn gwerthoedd amser. Gellir nawr ddisodli serde = { version = "1.0", features = ["derive"] } gyda serde = { version = "1.0", features = ["derive"], }
  • Mae cyfran newydd o'r API wedi'i symud i'r categori stabl, gan gynnwys dulliau a gweithrediad nodweddion wedi'u sefydlogi:
    • <[T]>::array_windows
    • <[T]>::gwrthbwyso_elfen
    • LazyCell::get
    • LazyCell::get_mut
    • LazyCell::force_mut
    • LazyLock::get
    • LazyLock::get_mut
    • LazyLock::force_mut
    • impl CeisiwchFrom i'w ddefnyddio
    • std::iter::Peekable::next_if_map
    • std::iter::Peekable::next_if_map_mut
    • Cynhenid ​​ar gyfer cyfarwyddiadau x86 avx512fp16
    • Cynhenid ​​ar gyfer cyfarwyddiadau AArch64 NEON fp16
    • f32::consts::EULER_GAMMA
    • f64::consts::EULER_GAMMA
    • f32::consts::GOLDEN_RATIO
    • f64::consts::GOLDEN_RATIO
  • Defnyddir yr arwydd “const” mewn swyddogaethau:
    • f32::mul_ychwanegu
    • f64::mul_ychwanegu
  • Mae'r platfform riscv64im-unknown-none-elf wedi'i symud i lefel cymorth 3. Mae lefel cymorth 3 yn cynnwys cymorth sylfaenol, ond nid yw'n cynnwys profion awtomataidd, datganiadau adeiladu swyddogol, na gwirio adeiladu.

Yn ogystal, hoffem dynnu sylw at brosiectau a digwyddiadau a gyhoeddwyd yn ddiweddar sy'n gysylltiedig â Rust:

  • Mae Ayrton Muñoz, a weithredodd gefnogaeth ar gyfer platfform Sony PlayStation 1 yn y crynhoydd Rust a phortodd FreeBSD i gyfrifiaduron gyda sglodion Apple Silicon, wedi gweithredu'r gallu i ysgrifennu cydrannau cnewyllyn a gyrwyr dyfeisiau yn Rust ar gyfer FreeBSD. Darparwyd set o rwymiadau KPI (Rhyngwyneb Rhaglennu Cnewyllyn) sy'n galluogi defnyddio cod Rust yng nghnewyllyn FreeBSD ar gyfer profi, ynghyd â'r gyrrwr sain virtio (virtio_snd), y gyrrwr HID DockChannel ar gyfer bysellfwrdd MacBook M2, a sawl gyrrwr lefel isel ar gyfer is-systemau cyfrifiadur Mac ar sglodion Apple Silicon, pob un wedi'i greu gan ddefnyddio'r rhwymiadau hyn.

    Mae gwaith ar y rhwymiadau Rust wedi bod yn mynd rhagddo ers diwedd 2024. Ar hyn o bryd, dim ond rhan o'r C-KPIs y mae'r rhwymiadau'n eu gweithredu ac fe'u hystyrir yn ansefydlog, ond dros amser, maent yn bwriadu gwella eu sefydlogrwydd i gyd-fynd â sefydlogrwydd rhyngwyneb tebyg ar gyfer yr iaith C. Mae'r gyrrwr virtio_snd, a gynigiwyd fel enghraifft, yn addas ar gyfer chwarae cerddoriaeth yn QEMU. Disgwylir erbyn 2026, y bydd y rhwymiadau Rust yn ddigon sefydlog i ddatblygwyr sydd â diddordeb ddechrau eu defnyddio ar gyfer ysgrifennu cod.

  • Cynigiodd datblygwr NetBSD, Benny Siegert, resymeg pam na fydd cefnogaeth i Rust yn ymddangos yng nghnewyllyn NetBSD: mae NetBSD yn cefnogi pensaernïaethau nad yw Rust ar gael ar eu cyfer; mae cynnal y gadwyn offer Rust bresennol yn pkgsrc yn ymdrech sylweddol ac fe'i cefnogir gan ychydig o ddatblygwyr yn unig; mae cefnogaeth i'r cnewyllyn ar gyfer Rust yn ei gwneud yn ofynnol i'r crynhoydd Rust gael ei gynnwys yn y system sylfaenol; mae cychwyn Rust ar NetBSD yn defnyddio pecyn deuaidd etifeddol, sy'n annerbyniol ar gyfer dosraniadau hunangynhwysol a ddosberthir fel ffynhonnell; mae cylchoedd rhyddhau Rust yn anghydnaws â chylchoedd datblygu a chefnogi NetBSD ar gyfer canghennau etifeddol (er enghraifft, mae NetBSD 9, a ryddhawyd yn 2020, yn parhau i gael ei gefnogi, a fyddai'n gofyn am gludo a chefnogi crynhoydd Rust chwe blwydd oed).
  • Опубликован выпуск встраиваемой в приложения СУБД Turso 0.5, написанной на языке Rust и совместимой с SQLite на уровне диалекта SQL, формата файлов БД и C API. Из расширенных возможностей отмечается механизм CDC (Change data capture) для отслеживания изменения БД в реальном времени, использование io_uring для асинхронного ввода/вывода в Linux, поддержка векторного поиска, наличие выражения ALTER для изменения схемы БД, возможность шифрования данных в БД, режим инкрементальных вычислений, конструкция «BEGIN CONCURRENT».
  • Prosiect i alluogi defnyddio llyfrgell safonol Rust mewn rhaglenni ochr GPU.
  • Emuko — эмулятор RISC-V, написанный на Rust, способный загружать Linux, поддерживающий JIT-компиляцию, способный сохранять и восстанавливать снапшоты состояния.
  • Mae RustConn (flatpak) yn rhyngwyneb graffigol ar gyfer rheoli cysylltiadau rhwydwaith allanol â gwesteiwyr eraill, gan gefnogi SSH, RDP, VNC, SPICE, Telnet, Serial, Kubernetes, Dim Ymddiriedolaeth, ac SFTP. Mae'r cod wedi'i ysgrifennu yn Rust gan ddefnyddio GTK4 a Wayland.
  • Mae cangen newydd o'r prosiect zlib-rs 0.6 wedi'i rhyddhau, gan ei nodi fel y fersiwn sefydlog gyntaf sy'n gwbl gydnaws â'r API C zlib ac yn addas ar gyfer amnewidiad tryloyw ar gyfer zlib. Nod y prosiect yw creu dewis arall diogel i lyfrgell cywasgu data zlib. Mae datblygiad yn cael ei gynnal gyda llygad ar y prosiect zlib-ng, sy'n datblygu amrywiad perfformiad uchel o zlib.
  • Mae prosiect VCAD yn ddatblygiad o system ddylunio â chymorth cyfrifiadur (CAD) parametrig a ysgrifennwyd yn Rust ac a integreiddiodd ag asiantau AI gan ddefnyddio'r protocol MCP. Mae'n cefnogi modelu 3D, efelychu, braslunio 2D, cydosod cydrannau, mewnforio STEP, ac allforio STL/GLB/STEP/DXF.
  • Mae system adnabod lleferydd wedi'i hysgrifennu yn Rust ac sy'n defnyddio model Deallusrwydd Artiffisial amser real Mistral Voxtral Mini 4B a fframwaith dysgu peirianyddol Burn wedi'i chyhoeddi. Mae'r prosiect yn canolbwyntio ar adnabod lleferydd ar unwaith ar gyfer trawsgrifio ffrydio byw.
  • Mae pecyn cymorth c2rust 0.22 wedi'i ryddhau. Fe'i cynlluniwyd ar gyfer cyfieithu cod C (C99) yn gynrychiolaeth Rust anniogel, sy'n debyg o ran strwythur i'r cod C gwreiddiol. Gellir defnyddio'r fframwaith gweithio sy'n deillio o hyn ar gyfer mudo graddol i Rust idiomatig a chael gwared ar flociau anniogel.

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