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

በሞዚላ ፕሮጀክት የተመሰረተው የስርዓተ ፕሮግራሚንግ ቋንቋ ዝገት 1.54 ተለቀቀ ፣ አሁን ግን በገለልተኛ ለትርፍ ያልተቋቋመ ድርጅት Rust Foundation ስር የተገነባ ፣ ታትሟል። ቋንቋው በማህደረ ትውስታ ደህንነት ላይ ያተኩራል፣ አውቶማቲክ የማህደረ ትውስታ አስተዳደርን ይሰጣል፣ እና ቆሻሻ ሰብሳቢ ወይም የሩጫ ጊዜ ሳይጠቀሙ ከፍተኛ ተግባርን ትይዩ ለማድረግ የሚያስችል ዘዴን ይሰጣል (የአሂድ ጊዜ ወደ መሰረታዊ ጅምር እና መደበኛ ቤተ-መጽሐፍት ጥገና)።

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

ዋና ፈጠራዎች፡-

  • የተግባር መሰል ማክሮዎችን የመጠቀም ችሎታ ታክሏል። እንደነዚህ ያሉት ማክሮዎች “!” በሚለው ምልክት ከተግባሮች ተለይተዋል ። ከስም በኋላ (ማክሮ! (...)) እና የተግባር ጥሪን ከማመንጨት ይልቅ የማክሮ ምንጭ ጽሑፍን በመተካት። በባህሪያት ውስጥ ማክሮዎችን መጥራት የሌሎች ፋይሎችን ይዘት አስተያየቶችን ለመመዝገብ ጠቃሚ ሊሆን ይችላል። ለምሳሌ የ README ፋይሉን ይዘት እና የስክሪፕት አፈፃፀም ውጤቱን ለማስገባት፡ #![doc = include_str!("README.md")] #[መንገድ = concat!(env!("OUT_DIR) "), "/generated.rs")] mod የመነጨ;
  • ለ wasm32 የመሳሪያ ስርዓት አብሮገነብ የማጠናቀሪያ ተግባራት (Intrinsics) ተረጋግተዋል፣ ይህም የሲምዲ መመሪያዎችን በ WebAssembly ውስጥ መጠቀም ያስችላል። እንደ v128_bitselect ያሉ አብዛኛዎቹ ተግባራት በ"አስተማማኝ" ሁነታ ይገኛሉ፣ነገር ግን በጠቋሚዎች የሚሰሩ አንዳንድ ተግባራት (ለምሳሌ v128_load) "ደህንነታቸው ያልተጠበቀ" ሆነው ይቆያሉ።
  • የተጨማሪ ማጠናቀር ነባሪ አጠቃቀም ተመልሷል ፣የተቀየሩትን የኮዱ ክፍሎች ብቻ እንዲገነቡ ያስችልዎታል ፣ይህም ትንሽ ለውጦችን ካደረጉ በኋላ እንደገና በሚጠናቀርበት ጊዜ ፕሮጀክት ለመገንባት የሚፈጀውን ጊዜ በእጅጉ ሊቀንስ ይችላል። ተጨማሪ ማጠናቀር በልቀት 1.52.1 ተሰናክሏል ከዲስክ መሸጎጫ ውሂብ ለመጫን ተጨማሪ ፍተሻ ካከሉ በኋላ በተፈጠሩ የተደበቁ ሳንካዎች ምክንያት።
  • የሚከተለው የመረጋጋትን ጨምሮ አዲስ የኤፒአይዎች ክፍል ወደ የተረጋጋ ምድብ ተላልፏል፡
      BTreeMap ::ወደ_ቁልፎች
    • BTreeMap ::ወደ_እሴቶች
    • HashMap ::ወደ_ቁልፎች
    • HashMap ::ወደ_እሴቶች
    • ቅስት:: wasm32
    • VecDeque :: ሁለትዮሽ_ፈልግ
    • VecDeque:: ሁለትዮሽ_ፍለጋ_በ
    • VecDeque:: ሁለትዮሽ_ፈልግ_በቁልፍ
    • VecDeque :: ክፍልፋይ_ነጥብ
  • በካርጎ-ዛፍ ላይ የተጨመሩ አማራጮች፡- “— ፕሪን " ፓኬጅ ከጥገኛ ግራፍ ላይ ለማስወገድ "-ጥልቀት" በጥገኛ ዛፍ ውስጥ የተሰጠውን የጎጆ ደረጃ አካላትን ብቻ ለማሳየት ፣ "-edges no-proc-macro" የሂደት ማክሮ ጥገኛዎችን ለመደበቅ።

ምንጭ: opennet.ru

አስተያየት ያክሉ