Sakin Rust 1.94. Gwaji da Tsatsa a cikin FreeBSD Kernel. Turso Database da VCAD a cikin Rust

Yaren shirye-shirye na Rust 1.94, wanda aikin Mozilla ya kafa amma yanzu an haɓaka shi a ƙarƙashin inuwar Rust Foundation mai zaman kanta, mai zaman kanta. Harshen yana mai da hankali kan amincin ƙwaƙwalwar ajiya kuma yana ba da kayan aikin don cimma babban daidaici na aiwatar da aikin, yayin yin ba tare da yin amfani da mai tara shara da lokacin aiki ba (an rage lokacin aiki zuwa farawa na asali da kiyaye daidaitaccen ɗakin karatu).

An tsara hanyoyin sarrafa ƙwaƙwalwa na Rust don kawar da kurakurai a cikin sarrafa alamun shafi da kuma kare daga matsalolin da ke tasowa daga sarrafa ƙananan matakan ƙwaƙwalwa, kamar samun damar ƙwaƙwalwar ajiya bayan an 'yantar da ita, rashin ambaton alamun da ba su da ma'ana, wuce gona da iri na buffer, da sauransu. Aikin yana haɓaka manajan kunshin Cargo don rarraba ɗakunan karatu, sauƙaƙe ginawa, da kuma sarrafa abubuwan da suka dogara da su. Ana kula da ma'ajiyar crates.io don ɗaukar ɗakunan karatu.

Ana ba da amincin ƙwaƙwalwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba tunani, kiyaye bin diddigin mallakar abu, kiyaye tsawon rayuwa (masu iyawa), da tantance daidaiton damar ƙwaƙwalwar ajiya yayin aiwatar da lambar. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buƙatar ƙaddamar da ƙima mai mahimmanci kafin amfani, yana sarrafa kurakurai mafi kyau a cikin daidaitaccen ɗakin karatu, yana amfani da ra'ayi na nassoshi marasa canzawa da masu canji ta tsohuwa, yana ba da buga rubutu mai ƙarfi don rage kurakurai masu ma'ana.

Manyan sabbin abubuwa:

  • Nau'in yanki yanzu yana da hanyar array_windows. Wannan hanyar tana ƙirƙirar maimaitawa don ratsa yanka a cikin tagogi masu girman da aka gyara waɗanda ke haɓaka abu ɗaya a lokaci guda. Ba kamar hanyar windows da aka riga aka samu ba, array_windows yana aiki akan girman taga mai ɗorewa kuma yana dawo da nuni zuwa ga jerin gwanon da aka gyara (&[T; N]) maimakon yanki na girman da ba a ƙayyade ba (&[T]) don kowane maimaitawa. Tunda da farko an san girman jeri ga mai tarawa, ana iya inganta aiki ta hanyar guje wa duba iyaka a kowane matakin maimaitawa. bari yanka = [0, 1, 2, 3]; bari 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());
  • Fayilolin daidaitawa na manajan fakitin kaya (.cargo/config.toml) suna aiwatar da umarnin "include", wanda ke ba ku damar saka abubuwan da ke cikin wasu fayiloli a cikin wurin. include = [ "frodo.toml", "samwise.toml", ] include = [ {path = "required.toml" }, {path = "optional.toml", optional = true}, ]
  • An ƙara tallafi ga sabon sigar harshen alamar TOML 1.1 zuwa fayilolin manifest da configuration. Wannan sabon sigar yana ƙara tallafi ga tebura masu layi da yawa, jerin tserewa na "\xHH" don saka wakilcin byte na hexadecimal, da jerin tserewa na "\e" don "\u001B," tare da ikon barin waƙafi mai biye a ƙarshen ɓangaren ƙarshe da kuma barin daƙiƙa a cikin ƙimar lokaci. serde = { sigar = "1.0", fasali = ["derive"] } yanzu za a iya maye gurbinsa da serde = { sigar = "1.0", fasali = ["derive"], }
  • An koma wani sabon yanki na API zuwa nau'in barga, gami da hanyoyin da aiwatar da halaye an daidaita su:
    • <[T]>::array_windows
    • <[T]>::element_offset
    • LazyCell::get
    • LazyCell::get_mut
    • LazyCell::force_mut
    • LazyLock::get
    • LazyLock::get_mut
    • LazyLock::force_mut
    • Gwada Daga don amfani
    • std::iter::Peekable::next_if_map
    • std::iter::Peekable::next_if_map_mut
    • Umarnin shiga na x86 avx512fp16
    • Intrinsis don umarnin AArch64 NEON fp16
    • f32::consts::EULER_GAMMA
    • f64::consts::EULER_GAMMA
    • f32::consts::GOLDEN_RATIO
    • f64::consts::GOLDEN_RATIO
  • Ana amfani da alamar "const" a ayyuka:
    • f32::mul_ƙara
    • f64::mul_ƙara
  • An mayar da dandamalin riscv64im-unknown-none-elf zuwa tallafi mataki na 3. Tallafi mataki na 3 ya haɗa da tallafi na asali, amma bai haɗa da gwaji ta atomatik ba, sakin ginin hukuma, ko tabbatar da ginawa.

Bugu da ƙari, muna so mu haskaka ayyukan da abubuwan da suka faru kwanan nan da aka sanar da su da suka shafi Rust:

  • Ayrton Muñoz, wanda ya aiwatar da tallafi ga dandamalin Sony PlayStation 1 a cikin mai haɗa Rust kuma ya tura FreeBSD zuwa kwamfutoci tare da kwakwalwan Apple Silicon, ya aiwatar da ikon rubuta abubuwan haɗin kernel da direbobin na'ura a cikin Rust for FreeBSD. An samar da saitin haɗin KPI (Kernel Programming Interface) waɗanda ke ba da damar amfani da lambar Rust a cikin kernel na FreeBSD don gwaji, tare da direban sauti na virtio (virtio_snd), direban DockChannel HID don madannin keyboard na M2 MacBook, da kuma wasu direbobi masu ƙarancin matakai don tsarin kwamfutocin Mac akan kwakwalwan Apple Silicon, duk an ƙirƙira su ta amfani da waɗannan haɗin.

    Aikin da ke kan Rust bindings yana ci gaba tun daga ƙarshen 2024. A halin yanzu, bindings ɗin suna aiwatar da wani ɓangare ne kawai na C-KPIs kuma ana ɗaukar su marasa ƙarfi, amma akan lokaci, suna shirin inganta kwanciyar hankalinsu don dacewa da irin wannan hanyar sadarwa ta harshen C. Direban virtio_snd, wanda aka gabatar a matsayin misali, ya dace da kunna kiɗa a QEMU. Ana sa ran nan da 2026, bindings ɗin Rust za su kasance masu ƙarfi sosai ga masu haɓaka sha'awar su fara amfani da su don rubuta lambar.

  • Mai haɓaka NetBSD Benny Siegert ya ba da hujjar dalilin da yasa tallafin Rust ba zai bayyana a cikin kwayayen NetBSD ba: NetBSD yana goyan bayan gine-ginen da Rust ba ya samuwa; kiyaye kayan aikin Rust da ke akwai a cikin pkgsrc babban ƙoƙari ne kuma 'yan masu haɓakawa ne kawai ke tallafawa; tallafin kernel don Rust yana buƙatar a haɗa mai tarawa Rust a cikin tsarin tushe; bootstrapping Rust akan NetBSD yana amfani da kunshin binary na gado, wanda ba za a yarda da shi ba don rarrabawa mai zaman kansa da aka rarraba azaman tushe; zagayowar sakin Rust ba ta dace da ci gaban NetBSD da zagayowar tallafi don rassan gado ba (misali, NetBSD 9, wanda aka saki a cikin 2020, ana ci gaba da tallafawa, wanda zai buƙaci jigilar kaya da tallafawa mai tarawa Rust mai shekaru shida).
  • Опубликован выпуск встраиваемой в приложения СУБД Turso 0.5, написанной на языке Rust и совместимой с SQLite на уровне диалекта SQL, формата файлов БД и C API. Из расширенных возможностей отмечается механизм CDC (Change data capture) для отслеживания изменения БД в реальном времени, использование io_uring для асинхронного ввода/вывода в Linux, поддержка векторного поиска, наличие выражения ALTER для изменения схемы БД, возможность шифрования данных в БД, режим инкрементальных вычислений, конструкция «BEGIN CONCURRENT».
  • Aikin da zai ba da damar amfani da ɗakin karatu na Rust a cikin shirye-shiryen gefen GPU.
  • Emuko — эмулятор RISC-V, написанный на Rust, способный загружать Linux, поддерживающий JIT-компиляцию, способный сохранять и восстанавливать снапшоты состояния.
  • RustConn (flatpak) wani tsari ne na zane don sarrafa hanyoyin sadarwa na waje zuwa wasu masu masaukin baki, yana tallafawa SSH, RDP, VNC, SPICE, Telnet, Serial, Kubernetes, Zero Trust, da SFTP. An rubuta lambar a cikin Rust ta amfani da GTK4 da Wayland.
  • An fitar da wani sabon reshe na aikin zlib-rs 0.6, wanda ke nuna shi a matsayin sigar farko mai karko wacce ta dace da zlib C API kuma ta dace da maye gurbin zlib mai haske. Aikin yana da nufin ƙirƙirar madadin amintacce ga ɗakin karatu na matse bayanai na zlib. Ana gudanar da ci gaba da sa ido kan aikin zlib-ng, wanda ke haɓaka nau'in zlib mai aiki mai girma.
  • Aikin VCAD wani ci gaba ne na tsarin ƙira mai amfani da kwamfuta (CAD) wanda aka rubuta da Rust kuma an haɗa shi da wakilan AI ta amfani da yarjejeniyar MCP. Yana tallafawa ƙirar 3D, kwaikwayon kwaikwayo, zane-zanen 2D, haɗa sassan, shigo da STEP, da fitar da STL/GLB/STEP/DXF.
  • An buga tsarin gane magana da aka rubuta da Rust kuma aka yi amfani da samfurin Mistral Voxtral Mini 4B Realtime AI da kuma tsarin koyon injin Burn. Aikin ya mayar da hankali kan gane magana a kan lokaci-lokaci don rubuta bayanai kai tsaye.
  • An fitar da kayan aikin c2rust 0.22. An tsara shi don fassara lambar C (C99) zuwa wakilcin Rust mara aminci, kama da tsarin lambar C ta asali. Tsarin aiki da aka samu ana iya amfani da shi don ƙaura a hankali zuwa ga Rust mai kama da na asali da kuma cire tubalan marasa aminci.

source: budenet.ru

Sayi amintaccen masauki don shafuka tare da kariyar DDoS, sabar VPS VDS 🔥 Sayi ingantaccen masaukin yanar gizo tare da kariyar DDoS, sabar VPS VDS | ProHoster