በሞዚላ ፕሮጀክት የተመሰረተው አሁን ግን በገለልተኛ የሩስት ፋውንዴሽን ስር የተገነባው የ Rust 1.94 ፕሮግራሚንግ ቋንቋ ተለቋል። ቋንቋው በማህደረ ትውስታ ደህንነት ላይ ያተኩራል እና ከፍተኛ ትይዩ ተግባርን ለማሳካት መሳሪያዎችን ያቀርባል, ነገር ግን ቆሻሻ ሰብሳቢ እና የሩጫ ጊዜ ሳይጠቀሙ (የሩጫ ጊዜው ወደ መሰረታዊ አጀማመር እና መደበኛ ቤተ-መጽሐፍት ጥገና ይቀንሳል).
የሩስት የማህደረ ትውስታ አስተዳደር ዘዴዎች በጠቋሚ ማኔጅመንት ላይ ያሉ ስህተቶችን ለማስወገድ እና እንደ ማህደረ ትውስታ ከተለቀቀ በኋላ መድረስ፣ ባዶ ጠቋሚዎችን አለማመልከት፣ የቋት ከመጠን በላይ መሸፈን እና የመሳሰሉትን የመሳሰሉ ዝቅተኛ ደረጃ ማህደረ ትውስታ አስተዳደርን ከሚፈጥሩ ችግሮች ለመጠበቅ የተነደፉ ናቸው። ፕሮጀክቱ ቤተ-መጻሕፍትን ለማሰራጨት፣ ግንባታዎችን ለማመቻቸት እና ጥገኝነቶችን ለማስተዳደር የካርጎ ጥቅል አስተዳዳሪን እያዘጋጀ ነው። crates.io ማከማቻ ቤተ-መጻሕፍትን ለማስተናገድ የተጠበቀ ነው።
የማህደረ ትውስታ ደህንነት በራስት ውስጥ በማጠናቀር ጊዜ በማጣቀሻ ቁጥጥር ፣የነገሮችን ባለቤትነት በመከታተል ፣የእቃውን የህይወት ዘመን (ስፋት) በመከታተል እና በኮድ አፈፃፀም ወቅት የማስታወስ ችሎታን ትክክለኛነት በመገምገም ይሰጣል ። ዝገት ከኢንቲጀር መብዛት ጥበቃን ይሰጣል፣ ከመጠቀምዎ በፊት ተለዋዋጭ እሴቶችን የግዴታ ማስጀመርን ይጠይቃል፣ በመደበኛ ቤተ-መጽሐፍት ውስጥ ስህተቶችን በተሻለ ሁኔታ ይቆጣጠራል ፣ የማይለዋወጥ ማጣቀሻዎችን እና ተለዋዋጮችን በነባሪነት ይተገበራል ፣ ምክንያታዊ ስህተቶችን ለመቀነስ ጠንካራ የማይንቀሳቀስ ትየባ ይሰጣል።
ዋና ፈጠራዎች፡-
- የቁራጭ አይነት አሁን የ array_windows ዘዴ አለው። ይህ ዘዴ በአንድ ጊዜ አንድ አባልን የሚያራምዱ ቋሚ መጠን ባላቸው መስኮቶች ውስጥ ቁርጥራጮችን ለማለፍ ተደጋጋሚ ይፈጥራል። ቀደም ሲል ከሚገኙት የዊንዶውስ ዘዴ በተለየ፣ array_windows በቋሚ የመስኮት መጠን ላይ ይሰራል እና ለእያንዳንዱ ድግግሞሽ ያልተገለጸ መጠን (&[T]) ቁራጭ ከመሆን ይልቅ ወደ ቋሚ መጠን ድርድር (&[T; N]) ማጣቀሻ ይመልሳል። የድርድሩ መጠን መጀመሪያ ላይ በኮምፓይለሩ የሚታወቅ ስለሆነ፣ በእያንዳንዱ ድግግሞሽ ደረጃ ላይ የወሰን ፍተሻን በማስወገድ አፈጻጸም ሊሻሻል ይችላል። 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());
- የካርጎ ፓኬጅ አስተዳዳሪው የውቅር ፋይሎች (.cargo/config.toml) የ"include" መመሪያን ተግባራዊ ያደርጋሉ፣ ይህም የሌሎች ፋይሎችን ይዘቶች በቦታው እንዲያስገቡ ያስችልዎታል። include = [ "frodo.toml", "samwise.toml", ] include = [ { path = "required.toml" }, { path = "optional.toml", optional = true }, ]
- ለአዲሱ የTOML 1.1 ምልክት ማድረጊያ ቋንቋ ስሪት ድጋፍ ወደ አንጸባራቂ እና ውቅር ፋይሎች ታክሏል። ይህ አዲስ ስሪት ለብዙ መስመር የተካተቱ ሰንጠረዦች ድጋፍ፣ የሄክሳዴሲማል ባይት ውክልናዎችን ለማስገባት የ"\xHH" የማምለጫ ቅደም ተከተል እና ለ"\u001B" የማምለጫ ቅደም ተከተል ድጋፍን ይጨምራል፣ እንዲሁም በመጨረሻው አባል መጨረሻ ላይ ተከታይ ኮማ የመተው እና በጊዜ እሴቶች ውስጥ ሰከንዶችን የማስወገድ ችሎታን ይጨምራል። serde = { version = "1.0", features = ["derive"] } አሁን በserde = { version = "1.0", features = ["derive"], } ሊተካ ይችላል
- የባህሪ ዘዴዎችን እና አተገባበርን ጨምሮ አዲስ የ API ክፍል ወደ የተረጋጋ ምድብ ተወስዷል፡
- <[T]>::array_windows
- <[T]>::element_offset
- LazyCell::get
- LazyCell::get_mut
- LazyCell::force_mut
- LazyLock::get
- LazyLock::get_mut
- LazyLock::force_mut
- implTryFrom ለአጠቃቀም
- std::iter::Peekable::next_if_map
- std::iter::Peekable::next_if_map_mut
- የ x86 avx512fp16 መመሪያዎች ውስጣዊ መረጃዎች
- የ AArch64 NEON fp16 መመሪያዎች ውስጣዊ መረጃዎች
- f32::consts::EULER_GAMMA
- f64::consts::EULER_GAMMA
- f32::consts::GOLDEN_RATIO
- f64::consts::GOLDEN_RATIO
- የ “const” ምልክት በተግባሮች ውስጥ ጥቅም ላይ ይውላል-
- f32::mul_add
- f64::mul_add
- የriscv64im-unknown-none-elf መድረክ ወደ ደረጃ 3 ድጋፍ ተዛውሯል። የድጋፍ ደረጃ 3 መሰረታዊ ድጋፍን ያካትታል፣ ነገር ግን አውቶማቲክ ሙከራን፣ ኦፊሴላዊ የግንባታ ልቀቶችን ወይም የግንባታ ማረጋገጫን አያካትትም።
በተጨማሪም፣ በቅርብ ጊዜ ከዝስት ጋር የተያያዙ ፕሮጀክቶችን እና ዝግጅቶችን ማጉላት እንፈልጋለን፡
- አይርተን ሙኖዝ በRust ኮምፓይለር ውስጥ የ Sony PlayStation 1 መድረክን ድጋፍ ተግባራዊ ያደረገው እና FreeBSDን ወደ አፕል ሲሊኮን ቺፕስ ወዳለቸው ኮምፒውተሮች ያጓጓዘው፣ በRust for FreeBSD ውስጥ የከርነል ክፍሎችን እና የመሳሪያ ነጂዎችን የመፃፍ ችሎታን ተግባራዊ አድርጓል። በFreeBSD ከርነል ውስጥ የሩስት ኮድን ለመጠቀም የሚያስችሉ የKPI (Kernel Programming Interface) ማያያዣዎች ስብስብ ከvirtio sound driver (virtio_snd)፣ ለM2 MacBook ኪቦርድ DockChannel HID ነጂ እና በአፕል ሲሊኮን ቺፕስ ላይ ላሉ የማክ ኮምፒውተር ንዑስ ስርዓቶች በርካታ ዝቅተኛ ደረጃ ነጂዎች ጋር ለሙከራ ቀርቧል፣ ሁሉም እነዚህን ማያያዣዎች በመጠቀም የተፈጠሩ ናቸው።
የሩስት ማያያዣዎች ሥራ ከ2024 መጨረሻ ጀምሮ ቀጥሏል። በአሁኑ ጊዜ ማያያዣዎቹ የC-KPIዎችን የተወሰነ ክፍል ብቻ ተግባራዊ ያደርጋሉ እና ያልተረጋጉ እንደሆኑ ይቆጠራሉ፣ ነገር ግን ከጊዜ በኋላ ለC ቋንቋ ተመሳሳይ በይነገጽ ካለው ጋር እንዲመሳሰል መረጋጋትን ለማሻሻል አቅደዋል። እንደ ምሳሌ የቀረበው የvirtio_snd ነጂ በQEMU ውስጥ ሙዚቃ ለመጫወት ተስማሚ ነው። በ2026፣ የሩስት ማያያዣዎች ፍላጎት ላላቸው ገንቢዎች ኮድ ለመጻፍ እንዲጠቀሙባቸው በቂ የተረጋጋ እንደሚሆኑ ይጠበቃል።
- የNetBSD ገንቢ ቤኒ ሲገርት የRust ድጋፍ በNetBSD ከርነል ውስጥ የማይታይበትን ምክንያት አቅርበዋል፡- NetBSD Rust የማይገኝባቸውን አርክቴክቸሮች ይደግፋል፤ በpkgsrc ውስጥ ያለውን የRust toolchain ማቆየት ከፍተኛ ጥረት የሚጠይቅ ሲሆን በጥቂት ገንቢዎች ብቻ የሚደገፍ ነው፤ ለRust የከርነል ድጋፍ የRust ኮምፓይለር በመሠረታዊ ስርዓቱ ውስጥ እንዲካተት ይጠይቃል፤ Rustን በNetBSD ላይ መጫን እንደ ምንጭ ለሚከፋፈሉ የራስ-ገዝ ስርጭቶች ተቀባይነት የሌለው የቆየ የሁለትዮሽ ጥቅል ይጠቀማል፤ የRust የመልቀቂያ ዑደቶች ከNetBSD ልማት እና ለቀድሞ ቅርንጫፎች የድጋፍ ዑደቶች ጋር ተኳሃኝ አይደሉም (ለምሳሌ፣ በ2020 የተለቀቀው NetBSD 9፣ መደገፉን ቀጥሏል፣ ይህም የስድስት ዓመት ዕድሜ ያለው የRust ኮምፓይለር መላክ እና መደገፍ ይጠይቃል)።
- Опубликован выпуск встраиваемой в приложения СУБД Turso 0.5, написанной на языке Rust и совместимой с SQLite на уровне диалекта SQL, формата файлов БД и C API. Из расширенных возможностей отмечается механизм CDC (Change data capture) для отслеживания изменения БД в реальном времени, использование io_uring для асинхронного ввода/вывода в Linux, поддержка векторного поиска, наличие выражения ALTER для изменения схемы БД, возможность шифрования данных в БД, режим инкрементальных вычислений, конструкция «BEGIN CONCURRENT».
- የሩስት መደበኛ ቤተ-መጽሐፍትን በጂፒዩ-ጎን ፕሮግራሞች ውስጥ መጠቀምን ለማንቃት የሚያስችል ፕሮጀክት።
- Emuko — эмулятор RISC-V, написанный на Rust, способный загружать Linux, поддерживающий JIT-компиляцию, способный сохранять и восстанавливать снапшоты состояния.
- RustConn (flatpak) ከሌሎች አስተናጋጆች ጋር ውጫዊ የአውታረ መረብ ግንኙነቶችን ለማስተዳደር የሚያስችል ግራፊክ በይነገጽ ሲሆን SSH፣ RDP፣ VNC፣ SPICE፣ Telnet፣ Serial፣ Kubernetes፣ Zero Trust እና SFTP ን ይደግፋል። ኮዱ በሩስት ውስጥ GTK4 እና Wayland በመጠቀም የተጻፈ ነው።
- የzlib-rs 0.6 ፕሮጀክት አዲስ ቅርንጫፍ ተለቋል፣ ይህም ከzlib C API ጋር ሙሉ በሙሉ ተኳሃኝ እና ለzlib ግልጽ ምትክ ተስማሚ የሆነ የመጀመሪያው የተረጋጋ ስሪት መሆኑን ያሳያል። ፕሮጀክቱ ለzlib የውሂብ መጭመቂያ ቤተ-መጽሐፍት ደህንነቱ የተጠበቀ አማራጭ ለመፍጠር ያለመ ነው። ልማት እየተካሄደ ያለው ከፍተኛ አፈጻጸም ያለው የzlib ስሪት በሚያዘጋጀው የzlib-ng ፕሮጀክት ላይ በማተኮር ነው።
- የቪካዲ ፕሮጀክት በሩስት የተጻፈ እና ከAI ወኪሎች ጋር የተዋሃደ የፓራሜትሪክ ዲዛይን (CAD) ስርዓት ልማት ሲሆን የMCP ፕሮቶኮልን በመጠቀም የ3D ሞዴሊንግ፣ ማስመሰል፣ 2D ንድፍ፣ የክፍል ስብሰባ፣ የSTEP ማስመጣት እና የSTL/GLB/STEP/DXF ኤክስፖርትን ይደግፋል።
- በሩስት የተጻፈ እና በሚስትራል ቮክስትራል ሚኒ 4ቢ ሪልታይም AI ሞዴል እና በበርን ማሽን የመማሪያ ማዕቀፍ በመጠቀም የንግግር ማወቂያ ስርዓት ታትሟል። ፕሮጀክቱ በቀጥታ ስርጭት ግልባጭ ላይ የንግግር ማወቂያን በቀጥታ በማየት ላይ ያተኩራል።
- የc2rust 0.22 ኪትል ተለቋል። ከመጀመሪያው የC ኮድ ጋር ተመሳሳይ በሆነ መልኩ የC ኮድ (C99)ን ወደ ደህንነቱ ያልተጠበቀ የሩስት ውክልና ለመተርጎም የተነደፈ ነው። የተገኘው የስራ ማዕቀፍ ቀስ በቀስ ወደ ፈሊጣዊ የሩስት ፍልሰት እና ደህንነታቸው ያልተጠበቁ ብሎኮችን ለማስወገድ ሊያገለግል ይችላል።
ምንጭ: opennet.ru
