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

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

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

ዋና ፈጠራዎች፡-

  • የካርጎ ጥቅል አስተዳዳሪ በግንባታ ወቅት የተባዙ ስህተቶችን እና ማስጠንቀቂያዎችን የማዋሃድ ችሎታ አለው። እንደ "የጭነት ሙከራ" እና "የጭነት ቼክ --ሁሉም-ዒላማዎች" ያሉ ትዕዛዞችን ሲፈጽም የተለያዩ መለኪያዎች ያሉት ጥቅል በርካታ ግንባታዎችን ሲፈጥር ተጠቃሚው አሁን ከመታየት ይልቅ የተደጋጋሚ ችግር መከሰቱን ጠቅለል አድርጎ ያሳያል። ተመሳሳይ ነገርን በተደጋጋሚ በሚገነቡበት ጊዜ ብዙ ተመሳሳይ ማስጠንቀቂያዎች ፋይል. $ cargo +1.55.0 ቼክ —ሁሉም-ዒላማዎች foo v0.1.0 ማስጠንቀቂያ፡ ተግባር በጭራሽ ጥቅም ላይ አይውልም፡ 'foo' —> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = ማስታወሻ፡ '#[ማስጠንቀቂያ(dead_code)]' በነባሪ ማስጠንቀቂያ፡ 'foo' (lib) 1 ማስጠንቀቂያ ፈጥሯል፡ 'foo' (lib test) 1 ማስጠንቀቂያ ፈጠረ (1 የተባዛ) የተጠናቀቀ ዴቭ [ያልተመቻቸ + debuginfo] ዒላማ (ዎች) በ0.84 ሴ
  • በመደበኛ ቤተ-መጽሐፍት ውስጥ ያለው ተንሳፋፊ ነጥብ መተንተን ኮድ ፈጣኑ እና ይበልጥ ትክክለኛ የሆነውን የኢሰል-ሌሚር አልጎሪዝም ለመጠቀም ተንቀሳቅሷል፣ ይህም ቀደም ሲል አንዳንድ የተስተዋሉ ችግሮችን በመጠገን እና በመተንተን በጣም ብዙ አሃዞችን ፈጥሯል።
  • በአብነት ውስጥ ያልተዘጉ ክልሎችን የመግለጽ ችሎታ ተረጋግቷል ("X.." በ X እሴት የሚጀምር እና በኢንቲጀር አይነት በከፍተኛው ዋጋ የሚጨርስ ክልል ተብሎ ይተረጎማል) x as u32 { 0 => println! ("ዜሮ!")፣ 1.. => println!("አዎንታዊ ቁጥር!")፣}
  • በ std :: io :: ErrorKind የተሸፈኑ የተስፋፉ የስህተት ልዩነቶች (ስህተቶችን እንደ NotFound እና WouldBlock ባሉ ምድቦች ይመድባል)። ከዚህ ቀደም ከነባር ምድቦች ጋር የማይጣጣሙ ስህተቶች በ ErrorKind ::ሌላ ምድብ ውስጥ ወድቀዋል፣ እሱም በሶስተኛ ወገን ኮድ ውስጥ ለሚኖሩ ስህተቶችም ያገለግል ነበር። አሁን የተለየ የውስጥ ምድብ አለ ErrorKind ::ከነባር ምድቦች ጋር በማይጣጣሙ ስህተቶች ያልተመደበ እና ስህተትKind ::ሌላው ምድብ በመደበኛ ቤተ-መጽሐፍት ውስጥ በማይገኙ ስህተቶች የተገደበ ነው (መደበኛ የቤተ-መጻህፍት ተግባራት io ይመለሳሉ :: ስህተት ከአሁን በኋላ ErrorKind:: ምድብ ሌላ አይጠቀሙ)።
  • የባህሪ ዘዴዎችን እና አተገባበርን ጨምሮ አዲስ የ API ክፍል ወደ የተረጋጋ ምድብ ተወስዷል፡
    • የታሰረ::
    • ማፍሰሻ :: as_str
    • የውስጥ ስህተት::ወደ_ስህተት
    • IntoInnerError::ወደ_ክፍሎች
    • ምናልባት ዩኒት::
    • ምናልባት ዩኒት :: ግምት_init_ማጣቀሻ
    • ምናልባት ዩኒት :: ጻፍ
    • ድርድር :: ካርታ
    • ops :: የቁጥጥር ፍሰት
    • x86::_ትንሽ
    • x86 :: _bittesstand ማሟያ
    • x86 :: _bittesstandreset
    • x86 :: _bittesandset
    • x86_64 ::_bittest64
    • x86_64 ::_bittesstand ማሟያ64
    • x86_64 ::_bittestandreset64
    • x86_64 ::_bittesandset64
  • የ"const" ባህሪ፣ ከቋሚዎች ይልቅ በማንኛውም አውድ ውስጥ የመጠቀም እድልን የሚወስነው በ str :: ከ_utf8_ያልተረጋገጠ ዘዴ ውስጥ ጥቅም ላይ ይውላል።
  • ሶስተኛው የድጋፍ ደረጃ ለpowerpc64le-unknown-freebsd መድረክ ተተግብሯል። ሶስተኛው ደረጃ መሰረታዊ ድጋፍን ያካትታል፣ ነገር ግን ያለ አውቶሜትድ ሙከራ፣ ይፋዊ ግንባታዎችን ማተም ወይም ኮዱ መገንባት ይቻል እንደሆነ ማረጋገጥ።

ምንጭ: opennet.ru

አስተያየት ያክሉ