Ede siseto Rust 1.94, ti o da nipasẹ iṣẹ akanṣe Mozilla ṣugbọn ni bayi ni idagbasoke labẹ awọn atilẹyin ti ominira Rust Foundation ti kii ṣe èrè, ti tu silẹ. Ede naa dojukọ aabo iranti ati pese awọn irinṣẹ lati ṣaṣeyọri isọdọkan giga ti ipaniyan iṣẹ-ṣiṣe, lakoko ṣiṣe laisi lilo agbasọ idoti ati akoko asiko (akoko asiko naa dinku si ipilẹṣẹ ipilẹ ati itọju ile-ikawe boṣewa).
Àwọn ọ̀nà ìṣàkóso ìrántí Rust ni a ṣe láti mú àwọn àṣìṣe kúrò nínú ìṣàkóṣo àmì ìtọ́kasí àti láti dáàbò bo ara wọn kúrò lọ́wọ́ àwọn ìṣòro tó ń dìde láti inú ìṣàkóso ìrántí ìpele kékeré, bíi wíwọlé sí ìrántí lẹ́yìn tí a ti tú u sílẹ̀, pípa àmì ìtọ́kasí null pointers, overruns, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ. Iṣẹ́ náà ń ṣe àgbékalẹ̀ olùṣàkóso package Cargo láti pín àwọn ilé ìkàwé, láti mú kí àwọn ìkọ́lé rọrùn, àti láti ṣàkóso àwọn ìgbẹ́kẹ̀lé. A ń tọ́jú ibi ìpamọ́ crates.io fún gbígbàlejò àwọn ilé ìkàwé.
Ailewu iranti ti pese ni ipata ni akoko iṣakojọ nipasẹ ṣiṣe ayẹwo itọkasi, ṣiṣe itọju ohun-ini ohun, titọju awọn igbesi aye ohun (awọn iwọn), ati iṣiro deede wiwọle iranti lakoko ṣiṣe koodu. Ipata tun pese aabo lodi si ṣiṣan odidi odidi, nilo ipilẹṣẹ dandan ti awọn iye oniyipada ṣaaju lilo, mu awọn aṣiṣe dara julọ ni ile-ikawe boṣewa, lo imọran ti awọn itọkasi ailagbara ati awọn oniyipada nipasẹ aiyipada, nfunni titẹ aimi to lagbara lati dinku awọn aṣiṣe ọgbọn.
Awọn imotuntun akọkọ:
- Iru slice naa ni ọna array_windows bayi. Ọna yii ṣẹda iterator fun lilọ kiri awọn ege ni awọn ferese iwọn ti o wa titi ti o gbe element kan siwaju ni akoko kan. Ko dabi ọna windows ti o wa tẹlẹ, array_windows n ṣiṣẹ lori iwọn window ti o wa titi ati pe o da itọkasi pada si array iwọn ti o wa titi (&[T; N]) dipo ege ti iwọn ti ko ni asọye (&[T]) fun array kọọkan. Niwọn igba ti a ti mọ iwọn array si compiler ni akọkọ, iṣẹ ṣiṣe le dara si nipa yiyẹra fun ṣiṣayẹwo awọn opin ni ipele array kọọkan. 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());
- Àwọn fáìlì ìṣètò olùṣàkóso package ẹrù (.cargo/config.toml) ń lo ìlànà "include", èyí tí ó fún ọ láyè láti fi àwọn àkóónú àwọn fáìlì mìíràn sí ipò. include = [ "frodo.toml", "samwise.toml", ] include = [ { path = "required.toml" }, { path = "optional.toml", optional = true }, ]
- A ti fi àtìlẹ́yìn fún àtúnṣe tuntun ti èdè ìṣàmì sí TOML 1.1 kún àwọn fáìlì ìṣàfihàn àti ìṣètò. Àtúnṣe tuntun yìí fi àtìlẹ́yìn kún fún àwọn tábìlì oní-ìlà púpọ̀, ìṣàmì sí ìṣàmì sí ìfikún àwọn àfihàn byte hexadecimal, àti ìṣàmì sí ìṣàmì sí ìṣàmì sí ìṣàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìsàmì sí ìyípadà àkókò. serde = { version = "1.0", features = ["derive"] } le ti rọ́pò serde = { version = "1.0", features = ["derive"], }
- Apa tuntun ti API ni a ti gbe si ẹka ti iduroṣinṣin, pẹlu awọn ọna ati awọn imuse ti awọn abuda ti jẹ imuduro:
- <[T]>::array_windows
- <[T]>::element_offset
- LazyCell::get
- LazyCell::get_mut
- LazyCell::force_mut
- LazyLock::get
- LazyLock::get_mut
- LazyLock::force_mut
- ìfàṣẹsí TryFrom fun lilo
- std::iter::Peekable::next_if_map
- std::iter::Peekable::next_if_map_mut
- Àwọn ìlànà inú fún x86 avx512fp16
- Àwọn ìlànà inú fún àwọn ìlànà AArch64 NEON fp16
- f32::consts::EULER_GAMMA
- f64::consts::EULER_GAMMA
- f32::consts::GOLDEN_RATIO
- f64::consts::GOLDEN_RATIO
- Ami “const” ni a lo ninu awọn iṣẹ:
- f32::mul_add
- f64::mul_add
- A ti gbe pẹpẹ riscv64im-unknown-none-elf lọ si atilẹyin ipele 3. Atilẹyin ipele 3 pẹlu atilẹyin ipilẹ, ṣugbọn ko pẹlu idanwo adaṣiṣẹ, awọn idasilẹ ikole osise, tabi ijẹrisi ikole.
Ni afikun, a fẹ lati ṣe afihan awọn iṣẹ akanṣe ati awọn iṣẹlẹ ti a kede laipẹ ti o ni ibatan si Rust:
- Ayrton Muñoz, ẹni tí ó ṣe àtìlẹ́yìn fún ìpèsè Sony PlayStation 1 nínú Rust compiler tí ó sì gbé FreeBSD sí àwọn kọ̀ǹpútà pẹ̀lú àwọn chips Apple Silicon, ti ṣe àgbékalẹ̀ agbára láti kọ àwọn ohun èlò kernel àti àwọn awakọ̀ ẹ̀rọ nínú Rust for FreeBSD. A ti pèsè àwọn ìdè KPI (Kernel Programming Interface) tí ó mú kí lílo kódì Rust nínú kernel FreeBSD fún ìdánwò, pẹ̀lú awakọ̀ ohùn virtio (virtio_snd), awakọ̀ DockChannel HID fún keyboard MacBook M2, àti ọ̀pọ̀lọpọ̀ awakọ̀ ìpele kékeré fún àwọn ẹ̀rọ kékeré kọ̀ǹpútà Mac lórí àwọn chips Apple Silicon, gbogbo wọn ni a ṣẹ̀dá nípa lílo àwọn ìdè wọ̀nyí.
Iṣẹ́ lórí àwọn ìdè Rust ti ń lọ lọ́wọ́ láti ìparí ọdún 2024. Lọ́wọ́lọ́wọ́, àwọn ìdè náà kàn ń lo apá kan lára àwọn C-KPI nìkan, wọ́n sì kà wọ́n sí aláìdúróṣinṣin, ṣùgbọ́n bí àkókò ti ń lọ, wọ́n ń gbèrò láti mú ìdúróṣinṣin wọn sunwọ̀n sí i láti bá ti ìfọwọ́sowọ́pọ̀ kan náà mu fún èdè C. Awakọ̀ virtio_snd, tí a dámọ̀ràn gẹ́gẹ́ bí àpẹẹrẹ, dára fún kíkọ orin ní QEMU. A retí pé ní ọdún 2026, àwọn ìdè Rust yóò dúró ṣinṣin tó fún àwọn olùgbékalẹ̀ tí wọ́n nífẹ̀ẹ́ sí láti bẹ̀rẹ̀ sí í lò wọ́n fún kíkọ kódì.
- Olùgbékalẹ̀ NetBSD Benny Siegert fúnni ní ìdí kan tí àtìlẹ́yìn Rust kò fi ní hàn nínú ẹ̀rọ NetBSD: NetBSD ń ṣe àtìlẹ́yìn fún àwọn ilé tí Rust kò sí fún; mímú ẹ̀rọ Rust tó wà tẹ́lẹ̀ nínú pkgsrc jẹ́ ìsapá pàtàkì, àwọn olùgbékalẹ̀ díẹ̀ ló sì ń ṣe àtìlẹ́yìn fún; àtìlẹ́yìn kernel fún Rust nílò kí àkójọpọ̀ Rust wà nínú ètò ìpìlẹ̀; ṣíṣe àkójọpọ̀ Rust lórí NetBSD ń lo àkójọpọ̀ binary kan, èyí tí kò ṣeé gbà fún àwọn ìpínkiri ara-ẹni tí a pín gẹ́gẹ́ bí orísun; àwọn ìpele ìtúsílẹ̀ Rust kò bá àwọn ìpele ìdàgbàsókè àti ìtìlẹ́yìn NetBSD mu fún àwọn ẹ̀ka ìgbàanì (fún àpẹẹrẹ, NetBSD 9, tí a tú jáde ní ọdún 2020, ń bá a lọ láti ní àtìlẹ́yìn, èyí tí yóò nílò gbigbe àti àtìlẹ́yìn fún àkójọpọ̀ Rust ọmọ ọdún mẹ́fà).
- Опубликован выпуск встраиваемой в приложения СУБД Turso 0.5, написанной на языке Rust и совместимой с SQLite на уровне диалекта SQL, формата файлов БД и C API. Из расширенных возможностей отмечается механизм CDC (Change data capture) для отслеживания изменения БД в реальном времени, использование io_uring для асинхронного ввода/вывода в Linux, поддержка векторного поиска, наличие выражения ALTER для изменения схемы БД, возможность шифрования данных в БД, режим инкрементальных вычислений, конструкция «BEGIN CONCURRENT».
- Iṣẹ́ akanṣe kan láti jẹ́ kí lílo ìkàwé Rust standard nínú àwọn ètò ẹ̀gbẹ́ GPU ṣeé ṣe.
- Emuko — эмулятор RISC-V, написанный на Rust, способный загружать Linux, поддерживающий JIT-компиляцию, способный сохранять и восстанавливать снапшоты состояния.
- RustConn (flatpak) jẹ́ àwòrán ìṣàfihàn fún ṣíṣàkóso àwọn ìsopọ̀ nẹ́tíwọ́ọ̀kì ìta sí àwọn olùgbàlejò mìíràn, tí ó ń ṣe àtìlẹ́yìn fún SSH, RDP, VNC, SPICE, Telnet, Serial, Kubernetes, Zero Trust, àti SFTP. A kọ koodu náà ní Rust nípa lílo GTK4 àti Wayland.
- A ti tu ẹ̀ka tuntun kan ti iṣẹ akanṣe zlib-rs 0.6 silẹ, eyi ti o samisi pe o jẹ ẹya iduroṣinṣin akọkọ ti o baamu pẹlu zlib C API ti o si yẹ fun rirọpo ti o han gbangba fun zlib. Iṣẹ akanṣe naa ni ero lati ṣẹda yiyan ti o ni aabo si ibi-ikawe titẹ data zlib. A n ṣe idagbasoke pẹlu oju lori iṣẹ akanṣe zlib-ng, eyiti o ṣe agbekalẹ iyatọ iṣẹ-ṣiṣe giga ti zlib.
- Iṣẹ́ àgbékalẹ̀ VCAD jẹ́ ìdàgbàsókè ètò onímọ̀-àrànṣe kọ̀mpútà (CAD) tí a kọ ní Rust tí a sì fi àwọn aṣojú AI ṣe àkópọ̀ rẹ̀ nípa lílo ìlànà MCP. Ó ń ṣe àtìlẹ́yìn fún àpẹẹrẹ 3D, ìṣe àfarawé, àwòrán 2D, àkójọpọ̀ àwọn ẹ̀yà ara, gbígbé STEP wọlé, àti ìtajà STL/GLB/STEP/DXF.
- A ti ṣe àtẹ̀jáde ètò ìdámọ̀ ọ̀rọ̀ sísọ tí a kọ ní Rust, tí a sì ń lo àwòṣe Mistral Voxtral Mini 4B Realtime AI àti ìlànà ẹ̀kọ́ ẹ̀rọ Burn. Iṣẹ́ náà dojúkọ ìdámọ̀ ọ̀rọ̀ sísọ lójúkan-ní-ojúmọ́ fún ìkọ̀wé ìṣànsílẹ̀ láyìíká.
- A ti tu ohun èlò ìṣiṣẹ́ c2rust 0.22 sílẹ̀. A ṣe é fún títúmọ̀ kódì C (C99) sí àfihàn Rust tí kò léwu, tí ó jọra ní ìṣètò sí kódì C àtilẹ̀wá. A lè lo ìlànà iṣẹ́ tí ó yọrí sí i fún ìṣíkiri díẹ̀díẹ̀ sí Rust onírònú àti yíyọ àwọn búlọ́ọ̀kì tí kò léwu kúrò.
orisun: opennet.ru
