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

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

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

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

  • د کارګو بسته مدیر د دې وړتیا لري چې نقل شوي خطاګانې او اخطارونه یوځای کړي چې د جوړیدو پرمهال پیښیږي. کله چې د امرونو اجرا کول لکه "کارګو ټیسټ" او "کارګو چیک --ټول هدفونه" چې په پایله کې د مختلف پیرامیټرو سره د کڅوړې ډیری جوړونه رامینځته کیږي ، کارونکي ته اوس د ښودلو پرځای د تکرار ستونزې د پیښې لنډیز ښودل کیږي. ډیری ورته اخطارونه کله چې ورته شی په مکرر ډول جوړ کړئ فایل. $ cargo +1.55.0 check —all-targets Checking foo v0.1.0 خبرداری: فنکشن هیڅکله نه کارول کیږي: 'foo' —> src/lib.rs:9:4 | ۹ | fn foo() {} | ^^^ | = یادونه: '#[warn(dead_code)]' د ډیفالټ خبرداری: 'foo' (lib) د 9 اخطار خبرداری رامینځته کړی: 'foo' (lib ازموینه) 1 خبرداری رامینځته کړی (1 نقل) بشپړ شوی dev [unoptimized + debuginfo] هدف (s) په 1s کې
  • په معیاري کتابتون کې د فلوټینګ پوائنټ پارس کولو کوډ د ګړندي او ډیر دقیق Eisel-Lemire الګوریتم کارولو لپاره لیږدول شوی ، کوم چې د ډیری لوی شمیر شمیرو سره د ګول کولو او پارس کولو شمیرو سره ځینې دمخه لیدل شوې ستونزې حل کړې.
  • په ټیمپلیټونو کې د غیر تړل شوي حدونو مشخص کولو وړتیا مستحکم شوې ("X.." د یوې سلسلې په توګه تشریح کیږي چې د X ارزښت سره پیل کیږي او د عددي ډول اعظمي ارزښت سره پای ته رسیږي): x د u32 {0 => println په توګه میچ کړئ! ("صفر!")، 1.. => println!("مثبت شمیره!")، }
  • پراخ شوي خطا ډولونه چې د std::io::ErrorKind لخوا پوښل شوي (غلطۍ په کټګوریو کې طبقه بندي کوي لکه NotFound او WouldBlock). پخوا، هغه تېروتنې چې په موجوده کټګوریو کې نه وې د ErrorKind::Other کټګورۍ کې راوتلې، کوم چې د دریمې ډلې کوډ کې د غلطیو لپاره هم کارول کیده. اوس یو جلا داخلي کټګورۍ شتون لري ErrorKind::Uncategorized د تېروتنې لپاره چې په موجوده کټګوریو کې مناسب نه وي، او د ErrorKind::نور کټګورۍ هغه غلطیو پورې محدوده ده چې په معیاري کتابتون کې نه پیښیږي (د معیاري کتابتون فعالیتونه چې io::Error بیرته راګرځوي نور مه کاروئ ErrorKind:: کټګورۍ نور).
  • د API یوه نوې برخه د ثبات کټګورۍ ته لیږدول شوې، په شمول د ځانګړتیاوو میتودونه او پلي کول ثبات شوي دي:
    • پابند::کلون شوی
    • ډرین::as_str
    • IntoInnerError::into_error
    • IntoInnerError::into_parts
    • شایدUninit::assume_init_mut
    • شایدUninit::assume_init_ref
    • شایدUninit::لیکئ
    • array ::نقشه
    • عملیات::کنټرول فلو
    • x86::_bittest
    • x86::_bittestand complement
    • x86::_bittestandreset
    • x86::_bittestandset
    • x86_64::_bittest64
    • x86_64::_bittestandcomplement64
    • x86_64::_bittestandreset64
    • x86_64::_bittestandset64
  • د "const" خاصیت، کوم چې د ثابتو پرځای په هر شرایطو کې د کارولو امکان ټاکي، په str::from_utf8_unchecked میتود کې کارول کیږي.
  • د دریمې کچې ملاتړ د powerpc64le-unknown-freebsd پلیټ فارم لپاره پلي شوی. په دریمه کچه کې بنسټیز ملاتړ شامل دی، مګر د اتوماتیک ازموینې پرته، د رسمي ودانیو خپرول، یا دا ګوري چې آیا کوډ جوړیدلی شي.

سرچینه: opennet.ru

Add a comment