ዝገት 1.53 ተለቋል. ጉግል የ Rust ድጋፍን ወደ ሊኑክስ ከርነል ለመጨመር የገንዘብ ድጋፍ ያደርጋል

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

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

ዋና ፈጠራዎች፡-

  • ለድርድር፣ የIntoIterator ባህሪው ተተግብሯል፣ ይህም የድርድር አባሎችን መድገም በእሴቶች እንዲያደራጁ ያስችልዎታል፡ ለ i በ [1፣ 2፣ 3] { .. }

    ድግግሞሾችን ለሚቀበሉ ዘዴዎች ድርድርን ማስተላለፍም ይቻላል ለምሳሌ፡ let set = BTreeSet :: from_iter ([1, 2, 3]); ለ (a, b) በ some_iterator.chain ([1]) ዚፕ ([1, 2, 3]) { .. }

    ከዚህ ቀደም ኢንቶኢቴሬተር የተተገበረው ለድርድር ማጣቀሻዎች ብቻ ነው፣ ማለትም. በእሴቶች ላይ ለመድገም ማጣቀሻዎችን ("& [1, 2, 3]") ወይም "[1, 2, 3].iter ()" መጠቀም ያስፈልጋል. የIntoIterator ድርድር አተገባበር በተኳሃኝነት ችግሮች ተስተጓጉሏል ቀደም ሲል ከ array.into_iter() ወደ (&array) .ወደ_iter() በመቀየር ምክንያት። እነዚህ ችግሮች በአሰራር ዘዴ ተፈትተዋል - አቀናባሪው array.into_iter() ወደ (&array) .into_iter () የIntoIterator ባህሪ አተገባበር እንደሌለ ሆኖ መቀየሩን ይቀጥላል፣ነገር ግን ".into_iter() በመጠቀም ዘዴውን ሲጠራ ብቻ ነው። )" አገባብ እና ጥሪዎቹን ሳይነኩ በቅጹ "በ [1, 2, 3]", "iter.zip ([1, 2, 3])", "IntoIterator :: into_iter ([1, 2, 3]) )"

  • "|" አባባሎችን መግለጽ ይቻላል. (አመክንዮአዊ ወይም ኦፕሬሽን) በማንኛውም የአብነት ክፍል፣ ለምሳሌ፣ “አንዳንድ (1) | አንዳንድ(2)" አሁን "አንዳንድ(1 | 2)" መጻፍ ትችላለህ፡ ግጥሚያ ውጤት {Ok(አንዳንድ(1 | 2))) => { .. } ስህተት(MyError { አይነት፡ FileNotFound | ፍቃድ ተከልክሏል፣ .. }) = > { .. } _ => { .. } }
  • በዩኒኮድ UAX 31 ዝርዝር ውስጥ የተገለጹ ማንኛቸውም ሀገራዊ ቁምፊዎችን ጨምሮ፣ ነገር ግን የኢሞጂ ቁምፊዎችን ሳይጨምር የASCII ያልሆኑ ቁምፊዎችን ለዪዎች መጠቀም ይፈቀዳል። የተለያዩ ግን ተመሳሳይ ቁምፊዎችን ከተጠቀሙ, አቀናባሪው ማስጠንቀቂያ ይሰጣል. const BLÅHAJ: &str = "🦈"; struct 人 { 名字፡ ሕብረቁምፊ፣ } let α = 1; letsos = 2; ማስጠንቀቂያ፡ ለዪ ጥንዶች በ's' እና 's' መካከል ግራ እንደሚጋቡ ተቆጥረዋል።
  • የሚከተለው የመረጋጋትን ጨምሮ አዲስ የኤፒአይዎች ክፍል ወደ የተረጋጋ ምድብ ተላልፏል፡
    • አደራደር::ከማጣቀሻ
    • አደራደር::ከሙት
    • AtomicBool ::fetch_update
    • AtomicPtr :: ማምጣት_update
    • BTreeSet :: ማቆየት።
    • BTreeMap :: ማቆየት።
    • BufReader:: ዘመድ_ፈልግ
    • cmp:: ደቂቃ_በ
    • cmp :: ደቂቃ_በቁልፍ
    • cmp:: ቢበዛ_በ
    • cmp:: ቢበዛ_በቁልፍ
    • DebugStruct ::ጨርስ_ያልደከመ
    • የሚፈጀው ጊዜ::
    • የሚፈጀው ጊዜ::MAX
    • የሚፈጀው ጊዜ ::ዜሮ ነው::
    • የሚፈጀው ጊዜ :: saturating_add
    • ቆይታ :: saturating_sub
    • ቆይታ:: saturating_mul
    • f32 ::ያልተለመደ ነው።
    • f64 ::ያልተለመደ ነው።
    • IntoIterator ለድርድር
    • {ኢንቲጀር} :: BITS
    • io:: ስህተት:: የማይደገፍ::
    • ዜሮ ያልሆኑ*::መሪ_ዜሮዎች
    • ዜሮ ያልሆኑ* :: ተከታይ_ዜሮዎች
    • አማራጭ:: አስገባ::
    • በማዘዝ ላይ:: is_eq
    • ማዘዝ :: is_ne
    • ማዘዝ ::አልት_ት
    • ማዘዝ:: is_gt
    • ማዘዝ:: is_le
    • ማዘዝ:: is_ge
    • OsStr ::አነስተኛ ሆሄ_አድርግ
    • OsStr :: አቢይ_አስኪ_አድርግ
    • OsStr :: ወደ_ascii_አነስተኛ ሆሄ
    • OsStr :: ወደ_ascii_አቢይ ሆሄ
    • OsStr:: is_ascii
    • OsStr :: eq_gnore_ascii_case
    • ሊታይ የሚችል:: peek_mut
    • አርሲ::የጨመረ_ጠንካራ_ቁጥር
    • አርሲ::ጠንካራ_ቁጥርን መቀነስ
    • ቁራጭ :: IterMut :: እንደ_ቁራጭ
    • AsRef<[T]> ለ ቁራጭ::IterMut
    • impl SliceIndex ለ (Bound ፣ የታሰረ )
    • Vec :: ከውስጥ_ማራዘም
  • ለ wasm64-ያልታወቀ-ያልታወቀ መድረክ ሶስተኛው የድጋፍ ደረጃ ተተግብሯል። ሶስተኛው ደረጃ መሰረታዊ ድጋፍን ያካትታል፣ ነገር ግን ያለ አውቶሜትድ ሙከራ፣ ይፋዊ ግንባታዎችን ማተም ወይም ኮዱ መገንባት ይቻል እንደሆነ ማረጋገጥ።
  • የካርጎ ፓኬጅ አስተዳዳሪ በነባሪነት ለጊት ማከማቻ (HEAD) ዋና ቅርንጫፍ "ዋና" የሚለውን ስም ለመጠቀም ተንቀሳቅሷል። ከማስተርስ ይልቅ ዋናውን ስም በሚጠቀሙ ማከማቻዎች ውስጥ የሚስተናገዱ ጥገኞች ቅርንጫፍ = "ዋና" እንዲዋቀር አያስፈልጋቸውም።
  • በአቀነባባሪው ውስጥ፣ ለዝቅተኛው የኤልኤልቪኤም ስሪት የሚያስፈልጉ መስፈርቶች ወደ ኤልኤልቪኤም 10 ይነሳሉ ።

በተጨማሪም ፣ በዝገት ቋንቋ ውስጥ ክፍሎችን ለማዳበር ወደ ሊኑክስ ከርነል የመዋሃድ ልማት የገንዘብ አቅርቦትን ልብ ልንል እንችላለን። ስራው በፕሮሲሞ ፕሮጀክት ማዕቀፍ ውስጥ የሚካሄደው በ ISRG ድርጅት (የኢንተርኔት ደህንነት ጥናትና ምርምር ቡድን) ስር ሲሆን ይህም የፕሮጀክት መስራች እና HTTPS እና የቴክኖሎጂ እድገትን በማስተዋወቅ የደህንነት ጥበቃን ይጨምራል. ኢንተርኔት. ገንዘቡ የሚቀርበው በGoogle ነው፣ እሱም ለ Rust-for-Linux ፕሮጀክት ደራሲ ለሚጌል ኦጄዳ ስራ ይከፍላል። ከዚህ ቀደም ISRG እና Google ለ curl መገልገያ የሚሆን አማራጭ HTTP backend ለመፍጠር እና ለ Apache http አገልጋይ አዲስ የTLS ሞጁል እንዲፈጠር አስቀድመው የገንዘብ ድጋፍ አድርገዋል።

እንደ ማይክሮሶፍት እና ጎግል ገለፃ ከሆነ 70% የሚሆኑት ተጋላጭነቶች የሚከሰቱት ደህንነቱ ባልተጠበቀ የማህደረ ትውስታ አያያዝ ነው። እንደ መሳሪያ ሾፌሮች ያሉ የከርነል ክፍሎችን ለማዘጋጀት የRust ቋንቋን መጠቀም ደህንነቱ ባልተጠበቀ የማህደረ ትውስታ አያያዝ ምክንያት የሚፈጠሩትን የተጋላጭነት አደጋዎች እንደሚቀንስ እና እንደ ሚሞሪ ክልል ከተለቀቀ በኋላ መድረስን የመሳሰሉ ስህተቶችን ያስወግዳል ተብሎ ይጠበቃል።

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

ምንጭ: opennet.ru

አስተያየት ያክሉ