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

خپور شوی د سیسټم پروګرام کولو ژبه خپرول زنګ 1.37د موزیلا پروژې لخوا تاسیس شوی. ژبه د حافظې خوندیتوب باندې تمرکز کوي، د اتوماتیک حافظې مدیریت چمتو کوي، او د کثافاتو راټولونکي یا د چلولو وخت کارولو پرته د لوړې دندې موازي کولو لپاره وسیله چمتو کوي.

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

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

  • په rustc کمپیلر کې چمتو شوی د کوډ پروفایل کولو پایلو پراساس د اصلاح کولو ملاتړ (PGO، د پروفایل لارښود اصلاح)
    تاسو ته اجازه درکوي چې د برنامې اجرا کولو پرمهال راټول شوي احصایې تحلیل پراساس ډیر غوره کوډ رامینځته کړئ. د پروفایل رامینځته کولو لپاره ، د "-C پروفایل - تولید" بیرغ چمتو شوی ، او د غونډې په جریان کې پروفایل کارولو لپاره - "-C پروفایل-استعمال" (په پیل کې ، برنامه د لومړي بیرغ سره راټولیږي ، شاوخوا ګرځي او له رامینځته کولو وروسته پروفایل، دا د دویم بیرغ سره یوځای شوی؛

  • کله چې د "کارګو رن" کمانډ اجرا کول ، کوم چې د کنسول غوښتنلیکونو ګړندي ازموینې لپاره کارول اسانه دي ، د چلولو لپاره په اوتومات ډول د اجرا وړ فایل غوره کولو وړتیا اضافه شوې که چیرې په کڅوړه کې ډیری اجرایوي فایلونه شتون ولري. د اجرا کولو لپاره ډیفالټ فایل د ډیفالټ چلولو لارښود له لارې ټاکل کیږي د [پیکج] برخې کې د کڅوړې پیرامیټرو سره ، کوم چې تاسو ته اجازه درکوي هرکله چې تاسو د "کارګو چلول" پرمخ وړئ د "-bin" بیرغ له لارې په ښکاره ډول د فایل نوم مشخص کولو څخه مخنیوی وکړئ؛
  • د "کارګو پلورونکي" قومانده، مخکې په توګه چمتو شوي جلا بسته. کمانډ تاسو ته اجازه درکوي د انحصارونو ځایی کاپي سره کار تنظیم کړئ - د "کارګو پلورونکي" اجرا کولو وروسته ، د پروژې د انحصار ټولې سرچینې کوډونه د crates.io څخه محلي لارښود ته ډاونلوډ کیږي ، کوم چې بیا د کریټونو لاسرسي پرته د کار لپاره کارول کیدی شي. io (د کمانډ اجرا کولو وروسته، د تشکیلاتو بدلولو لپاره اشاره د جوړونې لپاره لارښود کارولو لپاره ښودل شوي). دا خصوصیت لا دمخه د خوشې کیدو سره په یوه آرشیف کې د ټولو انحصارونو بسته کولو سره د rustc کمپیلر تحویل تنظیم کولو لپاره کارول شوی؛
  • اوس دا ممکنه ده چې د ډول عرفونو په کارولو سره د اینوم اختیارونو سره لینکونه رامینځته کړئ (د مثال په توګه ، د فنکشن په بدن کې "fn increment_or_zero(x: ByteOption) تاسو کولی شئ "ByteOption::None => 0" مشخص کړئ) ، د محاسبې جوړښت (‹) ډوله کړئ MyType‹.. ››::option => N) یا ځان ته لاسرسی (په بلاکس c &self کې تاسو کولی شئ "Self::Quarter => 25" مشخص کړئ)؛
  • په میکرو کې د بې نومه ثابتو رامینځته کولو وړتیا اضافه کړه. د دې پرځای چې د عنصر نوم په "const" کې تعریف کړئ ، تاسو اوس کولی شئ د "_" کرکټر څخه په متحرک ډول د نه تکراري پیژندونکي غوره کولو لپاره وکاروئ ، کله چې میکرو ته بیا زنګ ووهئ د نوم شخړې څخه مخنیوی وکړئ؛
  • د انومونو سره د "#[repr(align(N))" خاصیت کارولو وړتیا اضافه کړه چې د یو ترکیب په کارولو سره ورته ورته ترکیب په ترتیب سره د AlignN‹T› جوړښت تعریف کول او بیا د AlignN‹MyEnum› کارولو سره؛
  • د API یوه نوې برخه باثباته کټګورۍ ته لیږدول شوې، پشمول د BufReader::buffer، BufWriter::buffer، او
    حجره::from_mut،
    حجره:: as_slice_of_cells,
    DoubleEndedIterator::nth_back,
    اختیار::xor
    {i,u}{8,16,64,128,size}::reverse_bits, wrapping::reverse_bits and
    ټوټه ::کاپي_ورځ

سربیره پردې، دا په پام کې نیول کیدی شي د ازموینې پیل پروژه Async-std، کوم چې د Rust معیاري کتابتون یو غیر متناسب ډول وړاندیز کوي (د std کتابتون یو بندر ، په کوم کې چې ټول انٹرفیسونه په async نسخه کې وړاندیز شوي او د async/await syntax سره کارولو لپاره چمتو دي).

سرچینه: opennet.ru

Add a comment