Rust 1.52 د پروګرام کولو ژبې خپرول

د سیسټم برنامه کولو ژبې Rust 1.52 خپرول، د موزیلا پروژې لخوا تاسیس شوی، مګر اوس د خپلواک غیر انتفاعي سازمان Rust Foundation تر څارنې لاندې رامینځته شوی، خپور شوی. ژبه د حافظې خوندیتوب باندې تمرکز کوي ، د اتوماتیک حافظې مدیریت چمتو کوي ، او د کثافاتو راټولونکي یا رن ټایم کارولو پرته د لوړې دندې موازي کولو لپاره وسیلې چمتو کوي (د چلولو وخت د معیاري کتابتون لومړني پیل او ساتنې ته کم شوی).

د زنګ اتوماتیک حافظه مدیریت د پوائنټرونو مینځلو په وخت کې غلطۍ له مینځه وړي او د ټیټې کچې حافظې لاسوهنې څخه رامینځته شوي ستونزو څخه ساتي ، لکه د حافظې ساحې ته لاسرسی وروسته له دې چې خلاص شي ، د نول پوینټر ډیریفرنسونه ، بفر اوورونونه او داسې نور. د کتابتونونو توزیع کولو لپاره، د راټولولو ډاډ ترلاسه کول او د انحصارونو اداره کول، پروژه د کارګو بسته مدیر ته وده ورکوي. د crates.io ذخیره د کتابتونونو کوربه کولو لپاره ملاتړ کیږي.

اصلي نوښتونه:

  • د "کارګو چک" او "کارګو کلپپي" امرونو د اجرا کولو امر ته پابند لرې شوی. پخوا، د "کارګو چک" وروسته د "کارګو کلپې" زنګ وهل د دې چک طریقو لپاره د کیچ جلا کولو نشتوالي له امله د کلپپي یوټیلیټ (لینټر) نه و پیل کړی. اوس دا ستونزه حل شوې او په هغه ترتیب کې چې "کارګو کلیپی" او "کارګو چیک" ویل کیږي نور هیڅ مسله نلري.
  • د API یوه نوې برخه باثباته کټګورۍ ته لیږدول شوې، په شمول لاندې میتودونه ثبات شوي دي:
    • دلیلونه::as_str
    • چار::MAX
    • char::REPLACEMENT_CHARACTER
    • چار:: UNICODE_VERSION
    • char::decode_utf16
    • char::from_digit
    • char::from_u32_نه چک شوی
    • char::from_u32
    • ټوټه :: partition_point
    • str::rsplit_once
    • str::split_one
  • د "const" خاصیت، کوم چې د ثابتو پر ځای په هر شرایطو کې د کارولو امکان ټاکي، په میتودونو کې کارول کیږي:
    • char::len_utf8
    • char::len_utf16
    • char::to_ascii_uppercase
    • char::to_ascii_lowercase
    • char::eq_ignore_ascii_case
    • u8::to_ascii_uppercase
    • u8::to_ascii_lowercase
    • u8::eq_ignore_ascii_case
  • اضافه شوي لینټ چیک unsafe_op_in_unsafe_fn ترڅو معلومه کړي چې ایا غیر محفوظ کوډ چې په غیر خوندي کارونو کې کارول کیږي د غیر خوندي بلاکونو لخوا چوکاټ شوی.
  • دې ته اجازه ورکول کیږي چې د سرې عنصر ډول ته د پوائنټرونو په شکل کې د بدلون وړ پوائنټرې اری ته کاسټ کړي. let mut x: [استعمال؛ 2] = [0, 0]; اجازه راکړئ p = &mut x د *mut کارول؛ اجازه راکړئ p = &mut x د *const استعمال؛
  • 9 نوي چکونه په کلیپي (لینټر) کې اضافه شوي.
  • د کارګو بسته مدیر اوس د بسته بندۍ لپاره په JSON کې د "مانیفیسټ_پاټ" ساحې ملاتړ کوي. د SPDX 3.11 ب formatه کې crates.io ذخیره کې د جواز معلوماتو مشخص کولو لپاره ملاتړ اضافه شوی.
  • دا اجازه لري چې ډیری فلټرونه مشخص کړي کله چې ازموینې پرمخ وړي ، د مثال په توګه د "کارګو ټیسټ - فو بار" چلول به ټولې ازموینې پرمخ وړي چې د ماسک "فو" او "بار" سره سمون لري.
  • د ډیفالټ LLVM اوزار کټ LLVM 12 ته تازه شوی.
  • د ملاتړ دریمه کچه د s390x-unknown-linux-musl، riscv32gc-unknown-linux-musl، riscv64gc-unknown-linux-musl او powerpc-unknown-openbsd پلیټ فارمونو لپاره پلي شوې. په دریمه کچه کې بنسټیز ملاتړ شامل دی، مګر د اتوماتیک ازموینې پرته، د رسمي ودانیو خپرول، یا دا ګوري چې آیا کوډ جوړیدلی شي.

سرچینه: opennet.ru

Add a comment