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

የታተመ የስርዓት ፕሮግራሚንግ ቋንቋ 1.46 መልቀቅ ዝገትበሞዚላ ፕሮጀክት የተመሰረተ። ቋንቋው በማህደረ ትውስታ ደህንነት ላይ ያተኩራል፣ አውቶማቲክ የማህደረ ትውስታ አስተዳደርን ይሰጣል፣ እና ቆሻሻ ሰብሳቢ ሳይጠቀሙ ከፍተኛ ተግባርን ትይዩ ለማድረግ የሚረዱ መሳሪያዎችን ይሰጣል። አሂድ.

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

ዋና ፈጠራዎች:

  • "const fn" የሚለውን አገላለጽ በመጠቀም የተገለጹ የተግባር ችሎታዎች ተዘርግተዋል, ይህም እንደ መደበኛ ተግባራት ብቻ ሳይሆን በቋሚዎች ምትክ በማንኛውም አውድ ውስጥ ጥቅም ላይ ሊውል ይችላል. እነዚህ ተግባራት የሚሰሉት በማጠናቀር ጊዜ እንጂ በሂደት ላይ አይደለም፣ ስለዚህ እነሱ ከቋሚዎች ብቻ የማንበብ ችሎታን የመሳሰሉ የተወሰኑ ገደቦችን ይከተላሉ።

    አዲሱ ልቀት የቦሊያን ኦፕሬተሮችን ("&&"እና"||")ን በእንደዚህ አይነት ተግባራት የመጠቀም እገዳን ያስወግዳል እና "ከሆነ", "ከተፈቀደ", "ግጥሚያ" ግንባታዎችን መጠቀም ይፈቅዳል.
    "በሚፈቀድለት ጊዜ" እና "ሉፕ"፣ እና እንዲሁም "&[T]" የሚለውን አገላለጽ በመጠቀም ወደ ቁርጥራጭ (ቁራጭ፣ ተለዋዋጭ ድርድሮች) የመቀየር ችሎታን ይሰጣል። በ "const fn" ተግባራት ውስጥ እነዚህን ባህሪያት መጠቀም አንዳንድ ሀብቶች-ተኮር ስራዎችን ወደ ማጠናቀር ደረጃ ለማንቀሳቀስ ያስችልዎታል. ለምሳሌ የ"const-sha1" አተገባበር SHA-1 hashesን በተጠናቀረ ጊዜ ለማስላት ያስችላል፣ ይህም የዊንአርቲ ማሰሪያዎችን ለ Rust በ40 ጊዜ ለማፋጠን ያስችላል።

  • የስህተት መልእክቶችን የበለጠ መረጃ ሰጭ ለማድረግ የ«#[ትራክ_ጠሪ]» ባህሪ ድጋፍ ተረጋግቷል፣ ይህም እንደ ማራገፍ ላሉ ተግባራት ጠቃሚ ነው፣ ይህም አይነቶች በስህተት ጥቅም ላይ ከዋሉ ፍርሃትን ሊፈጥር ይችላል። የተገለጸው መለያ ባህሪ የደዋይውን ቦታ በስህተት መልእክት ለማተም በፍርሃት ተቆጣጣሪው ይጠቀማል።
  • ከቋሚዎች ይልቅ በማንኛውም አውድ ውስጥ የመጠቀም እድልን የሚወስነው የ "const" ባህሪ በ std :: mem :: የመርሳት ዘዴ ውስጥ ጥቅም ላይ ይውላል.
  • የረጋው አማራጭ ::ዚፕ እና ቬክ ::ማፍሰሻ :: as_sliceን ጨምሮ አዲስ የ API ክፍል ወደ የተረጋጋው ምድብ ተወስዷል።
  • በጥቅል ሥራ አስኪያጅ ጭነት ታክሏል ፓኬጅ ሲያጠናቅቅ የተቀናበረው አዲስ የአካባቢ ተለዋዋጮች ድጋፍ፡- CARGO_BIN_NAME (የሚፈፀመው የፋይል ስም)፣ CARGO_CRATE_NAME (የጥቅል ስም)፣ CARGO_PKG_LICENSE (በማስመሪያው ውስጥ የተገለፀው ፍቃድ)፣ CARGO_PKG_LICENSE_FILE (ወደ የፍቃድ ፋይል ዱካ)።

ምንጭ: opennet.ru

አስተያየት ያክሉ