Rilis Rust 1.94. Nglakokake eksperimen karo Rust ing Kernel FreeBSD. Database Turso lan VCAD ing Rust

Basa pamrograman Rust 1.94, sing diadegaké déning proyèk Mozilla nanging saiki dikembangaké ing sangisoré naungan Yayasan Rust nirlaba independen, wis dirilis. Basa fokus ing safety memori lan menehi alat kanggo entuk paralelisme dhuwur saka eksekusi tugas, nalika nindakake tanpa nggunakake uwuh lan runtime (runtime suda kanggo initialization dhasar lan pangopènan perpustakaan standar).

Metode manajemen memori Rust dirancang kanggo ngilangi kesalahan ing manipulasi pointer lan nglindhungi saka masalah sing muncul saka manajemen memori tingkat rendah, kayata ngakses memori sawise dibebasake, dereferensi pointer null, buffer overruns, lan liya-liyane. Proyek iki ngembangake manajer paket Cargo kanggo nyebarake perpustakaan, nggampangake pembangunan, lan ngatur dependensi. Repositori crates.io dikelola kanggo hosting perpustakaan.

Keamanan memori diwenehake ing Rust ing wektu kompilasi liwat mriksa referensi, nglacak kepemilikan obyek, nglacak umur obyek (skop), lan netepake akurasi akses memori sajrone eksekusi kode. Rust uga menehi pangayoman marang overflows integer, mbutuhake initialization prentah saka nilai variabel sadurunge nggunakake, Ngalahake kasalahan luwih apik ing perpustakaan standar, ditrapake konsep referensi immutable lan variabel minangka standar, nawakake typing statis kuwat kanggo nyilikake kasalahan logis.

Inovasi utama:

  • Jinis slice saiki duwe metode array_windows. Metode iki nggawe iterator kanggo ngliwati slice ing jendela ukuran tetep sing maju siji elemen saben wektu. Ora kaya metode windows sing sadurunge kasedhiya, array_windows beroperasi ing ukuran jendela konstan lan ngasilake referensi menyang array ukuran tetep (&[T; N]) tinimbang slice ukuran sing ora ditemtokake (&[T]) kanggo saben iterasi. Amarga ukuran array wiwitane dingerteni dening kompiler, kinerja bisa ditingkatake kanthi ngindhari pamriksan wates ing saben tahap iterasi. 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());
  • File konfigurasi manajer paket Cargo (.cargo/config.toml) ngetrapake direktif "include", sing ngidini sampeyan nglebokake isi file liyane ing panggonane. include = [ "frodo.toml", "samwise.toml", ] include = [ { path = "required.toml" }, { path = "optional.toml", optional = true }, ]
  • Dhukungan kanggo versi anyar saka basa markup TOML 1.1 wis ditambahake menyang file manifest lan konfigurasi. Versi anyar iki nambahake dhukungan kanggo tabel sing disematkan multi-baris, urutan escape "\xHH" kanggo nyisipake representasi byte heksadesimal, lan urutan escape "\e" kanggo "\u001B," bebarengan karo kemampuan kanggo ninggalake koma ing pungkasan elemen pungkasan lan ngilangi detik ing nilai wektu. serde = { version = "1.0", features = ["derive"] } saiki bisa diganti karo serde = { version = "1.0", features = ["derive"], }
  • Bagean anyar saka API wis dipindhah menyang kategori stabil, kalebu cara lan implementasine sifat wis stabil:
    • <[T]>::jendhela_array
    • <[T]>::elemen_offset
    • LazyCell::get
    • LazyCell::get_mut
    • LazyCell::force_mut
    • LazyLock::get
    • LazyLock::get_mut
    • LazyLock::force_mut
    • impl Coba Saka kanggo digunakake
    • std::iter::Bisa dideleng::next_if_map
    • std::iter::Bisa dideleng::next_if_map_mut
    • Intrinsik kanggo pandhuan x86 avx512fp16
    • Intrinsik kanggo pandhuan AArch64 NEON fp16
    • f32::consts::EULER_GAMMA
    • f64::consts::EULER_GAMMA
    • f32::consts::RASI_EMAS
    • f64::consts::RASI_EMAS
  • Tandha "const" digunakake ing fungsi:
    • f32::mul_add
    • f64::mul_add
  • Platform riscv64im-unknown-none-elf wis dipindhah menyang dhukungan level 3. Dhukungan level 3 kalebu dhukungan dhasar, nanging ora kalebu uji coba otomatis, rilis versi resmi, utawa verifikasi versi.

Kajaba iku, kita pengin nyorot proyèk lan acara sing bubar diumumake sing ana gandhengane karo Rust:

  • Ayrton Muñoz, sing ngetrapake dhukungan kanggo platform Sony PlayStation 1 ing kompiler Rust lan porting FreeBSD menyang komputer nganggo chip Apple Silicon, wis ngetrapake kemampuan kanggo nulis komponen kernel lan driver piranti ing Rust kanggo FreeBSD. Sakumpulan binding KPI (Kernel Programming Interface) sing ngaktifake panggunaan kode Rust ing kernel FreeBSD wis diwenehake kanggo uji coba, bebarengan karo driver swara virtio (virtio_snd), driver DockChannel HID kanggo keyboard M2 MacBook, lan sawetara driver tingkat rendah kanggo subsistem komputer Mac ing chip Apple Silicon, kabeh digawe nggunakake binding kasebut.

    Pakaryan ing binding Rust wis ditindakake wiwit pungkasan taun 2024. Saiki, binding kasebut mung ngetrapake sebagian saka C-KPI lan dianggep ora stabil, nanging suwe-suwe, dheweke ngrencanakake kanggo nambah stabilitas supaya cocog karo antarmuka sing padha kanggo basa C. Driver virtio_snd, sing diusulake minangka conto, cocok kanggo muter musik ing QEMU. Dikarepake ing taun 2026, binding Rust bakal cukup stabil kanggo para pangembang sing kasengsem supaya bisa miwiti nggunakake kanggo nulis kode.

  • Pengembang NetBSD, Benny Siegert, menehi alesan kenapa dhukungan Rust ora bakal katon ing kernel NetBSD: NetBSD ndhukung arsitektur sing Rust ora kasedhiya; njaga toolchain Rust sing wis ana ing pkgsrc minangka upaya sing signifikan lan mung didhukung dening sawetara pengembang; dhukungan kernel kanggo Rust mbutuhake kompiler Rust dilebokake ing sistem basis; bootstrapping Rust ing NetBSD nggunakake paket biner lawas, sing ora bisa ditampa kanggo distribusi mandiri sing disebarake minangka sumber; Siklus rilis Rust ora kompatibel karo siklus pangembangan lan dhukungan NetBSD kanggo cabang lawas (contone, NetBSD 9, sing dirilis ing 2020, terus didhukung, sing mbutuhake pengiriman lan ndhukung kompiler Rust sing umur enem taun).
  • Опубликован выпуск встраиваемой в приложения СУБД Turso 0.5, написанной на языке Rust и совместимой с SQLite на уровне диалекта SQL, формата файлов БД и C API. Из расширенных возможностей отмечается механизм CDC (Change data capture) для отслеживания изменения БД в реальном времени, использование io_uring для асинхронного ввода/вывода в Linux, поддержка векторного поиска, наличие выражения ALTER для изменения схемы БД, возможность шифрования данных в БД, режим инкрементальных вычислений, конструкция «BEGIN CONCURRENT».
  • Proyèk kanggo ngaktifake panggunaan pustaka standar Rust ing program sisih GPU.
  • Emuko — эмулятор RISC-V, написанный на Rust, способный загружать Linux, поддерживающий JIT-компиляцию, способный сохранять и восстанавливать снапшоты состояния.
  • RustConn (flatpak) kuwi antarmuka grafis kanggo ngatur sambungan jaringan eksternal menyang host liyane, ndhukung SSH, RDP, VNC, SPICE, Telnet, Serial, Kubernetes, Zero Trust, lan SFTP. Kode kasebut ditulis ing Rust nggunakake GTK4 lan Wayland.
  • Cabang anyar saka proyèk zlib-rs 0.6 wis dirilis, nandhani minangka versi stabil pisanan sing kompatibel karo zlib C API lan cocok kanggo panggantos transparan kanggo zlib. Proyèk iki ngarahake kanggo nggawe alternatif sing aman kanggo perpustakaan kompresi data zlib. Pangembangan lagi ditindakake kanthi fokus ing proyèk zlib-ng, sing ngembangake varian zlib kanthi kinerja dhuwur.
  • Proyèk VCAD iki minangka pangembangan saka sistem desain dibantu komputer (CAD) parametrik sing ditulis nganggo Rust lan diintegrasikake karo agen AI nggunakake protokol MCP. Proyèk iki ndhukung pemodelan 3D, simulasi, sketsa 2D, perakitan komponen, impor STEP, lan ekspor STL/GLB/STEP/DXF.
  • Sistem pangenalan wicara sing ditulis nganggo Rust lan nggunakake model Mistral Voxtral Mini 4B Realtime AI lan kerangka pembelajaran mesin Burn wis diterbitake. Proyek iki fokus ing pangenalan wicara langsung kanggo transkripsi streaming langsung.
  • Toolkit c2rust 0.22 wis dirilis. Iki dirancang kanggo nerjemahake kode C (C99) dadi representasi Rust sing ora aman, strukture padha karo kode C asli. Kerangka kerja sing diasilake bisa digunakake kanggo migrasi bertahap menyang Rust idiomatik lan mbusak blok sing ora aman.

Source: opennet.ru

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS 🔥 Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster