ዝገት 1.62 የፕሮግራም አወጣጥ ቋንቋ መለቀቅ

በሞዚላ ፕሮጀክት የተመሰረተው፣ አሁን ግን በገለልተኛ ለትርፍ ያልተቋቋመ ድርጅት Rust Foundation ስር የተገነባው የ Rust 1.62 አጠቃላይ ዓላማ ፕሮግራሚንግ ቋንቋ ታትሟል። ቋንቋው በማህደረ ትውስታ ደህንነት ላይ ያተኩራል እና ከፍተኛ የስራ ትይዩነትን ለማግኘት የቆሻሻ አሰባሳቢውን እና የሩጫ ጊዜን (የሩጫ ጊዜውን ወደ መሰረታዊ አጀማመር እና ደረጃውን የጠበቀ ቤተመፃህፍት መጠገን ይቀንሳል)።

የዝገት የማስታወሻ አያያዝ ዘዴዎች ጠቋሚዎችን በሚጠቀሙበት ጊዜ ገንቢውን ከስህተቶች ያድናሉ እና በአነስተኛ ደረጃ የማህደረ ትውስታ አያያዝ ምክንያት ከሚፈጠሩ ችግሮች ለምሳሌ ከተለቀቀ በኋላ የማስታወሻ ቦታን ማግኘት ፣ ባዶ ጠቋሚዎችን መሰረዝ ፣ ቋት መጨናነቅ ፣ ወዘተ. ቤተ መፃህፍትን ለማሰራጨት፣ ግንባታዎችን ለማቅረብ እና ጥገኞችን ለማስተዳደር ፕሮጀክቱ የካርጎ ጥቅል አስተዳዳሪን ያዘጋጃል። የ crates.io ማከማቻው ቤተ-መጻሕፍትን ለማስተናገድ ይደገፋል።

የማህደረ ትውስታ ደህንነት በራስት ውስጥ በማጠናቀር ጊዜ በማጣቀሻ ቁጥጥር ፣የነገሮችን ባለቤትነት በመከታተል ፣የእቃውን የህይወት ዘመን (ስፋት) በመከታተል እና በኮድ አፈፃፀም ወቅት የማስታወስ ችሎታን ትክክለኛነት በመገምገም ይሰጣል ። ዝገት ከኢንቲጀር መብዛት ጥበቃን ይሰጣል፣ ከመጠቀምዎ በፊት ተለዋዋጭ እሴቶችን የግዴታ ማስጀመርን ይጠይቃል፣ በመደበኛ ቤተ-መጽሐፍት ውስጥ ስህተቶችን በተሻለ ሁኔታ ይቆጣጠራል ፣ የማይለዋወጥ ማጣቀሻዎችን እና ተለዋዋጮችን በነባሪነት ይተገበራል ፣ ምክንያታዊ ስህተቶችን ለመቀነስ ጠንካራ የማይንቀሳቀስ ትየባ ይሰጣል።

ዋና ፈጠራዎች፡-

  • የ "ካርጎ" ፓኬጅ አቀናባሪ "አክል" ትዕዛዙን ያቀርባል, ይህም አዲስ ጥገኛዎችን ወደ Cargo.toml መግለጫ ለመጨመር ወይም ከትዕዛዝ መስመሩ ላይ ያሉትን ጥገኞች ለመለወጥ ያስችልዎታል. ትዕዛዙ በተጨማሪ የግለሰብ ባህሪያትን እና ስሪቶችን እንዲገልጹ ይፈቅድልዎታል፣ ለምሳሌ፡ cargo add serde —features derie cargo add nom@5
  • የ"#[default(ነባሪ)]"ን የመጠቀም ችሎታ ታክሏል። #[የመነጨ (ነባሪ)] enum ምናልባት {#[ነባሪ] ምንም፣ የሆነ ነገር(ቲ)፣ }
  • በሊኑክስ ፕላትፎርም ላይ በሊኑክስ ከርነል የቀረቡ ፉቴክሶችን በመጠቀም የMutex synchronization method ይበልጥ የተጠናከረ እና ፈጣን ትግበራ ጥቅም ላይ ይውላል። ቀደም ሲል ጥቅም ላይ ከዋለው አተገባበር በተለየ በ pthreads ቤተ-መጽሐፍት ላይ የተመሰረተው አዲሱ እትም የ Mutex ግዛትን ለማከማቸት ከ 5 ይልቅ 40 ባይት ብቻ ነው የሚጠቀመው።በተመሳሳይ የኮንድቫር እና RwLock የመቆለፍ ዘዴዎች ወደ ፉቴክስ ተላልፈዋል።
  • የ x86_64-ያልታወቀ-ምንም ዒላማ መድረክ ሁለተኛ ደረጃ ድጋፍ ተተግብሯል፣ ያለ ስርዓተ ክወና ሊሰሩ የሚችሉ ፈጻሚ ፋይሎችን ለማፍለቅ ታስቦ ነው። ለምሳሌ የከርነል ክፍሎችን በሚጽፉበት ጊዜ የተገለጸው የዒላማ መድረክ መጠቀም ይቻላል. ሁለተኛው የድጋፍ ደረጃ የመሰብሰቢያ ዋስትናን ያካትታል.
  • ሦስተኛው የድጋፍ ደረጃ ለ aarch64-pc-windows-gnullvm እና x86_64-pc-windows-gnullvm መድረኮች ተተግብሯል። ሶስተኛው ደረጃ መሰረታዊ ድጋፍን ያካትታል፣ ነገር ግን ያለ አውቶሜትድ ሙከራ፣ ይፋዊ ግንባታዎችን ማተም ወይም ኮዱ መገንባት ይቻል እንደሆነ ማረጋገጥ።
  • የባህሪ ዘዴዎችን እና አተገባበርን ጨምሮ አዲስ የ API ክፍል ወደ የተረጋጋ ምድብ ተወስዷል፡
    • ቡል::ከዛም_አንዳንድ
    • f32 :: ጠቅላላ_ሴ.ሜ
    • f64 :: ጠቅላላ_ሴ.ሜ
    • Stdin :: መስመሮች
    • መስኮቶች :: CommandExt :: raw_arg
    • impl ለ AssertUnwindSafe ነባሪ እሴት
    • ከ > ለ Rc
    • ከ > ለአርክ<[u8]>
    • FusedIterator ለ EncodeWide

    ምንጭ: opennet.ru

አስተያየት ያክሉ