Rust 1.35 бағдарламалау тілі шығарылымы

Орын алу жүйелік бағдарламалау тілінің шығарылымы Тот 1.35, Mozilla жобасымен әзірленген. Тіл жад қауіпсіздігіне назар аударады, жадты автоматты басқаруды қамтамасыз етеді және қоқыс жинағышты немесе жұмыс уақытын пайдаланбай жоғары тапсырма параллелизміне қол жеткізу құралын ұсынады.

Rust жадты автоматты басқаруы әзірлеушіні көрсеткішті манипуляциялаудан босатады және бос жадқа қол жеткізу, нөлдік көрсеткіш сілтемелері, буфердің асып кетуі және т.б. сияқты төмен деңгейлі жад манипуляциясынан туындайтын мәселелерден қорғайды. Кітапханаларды тарату, құрастыруды қамтамасыз ету және жоба бойынша тәуелділіктерді басқару үшін пакет менеджері әзірленуде. жүк, бағдарламаға қажетті кітапханаларды бір рет басу арқылы алуға мүмкіндік береді. Хост кітапханалары үшін репозиторийге қолдау көрсетіледі crates.io.

басты инновациялар:

  • Қасиеттер FnOnce, FnMut и Fn үйінділер үшін жүзеге асырылады қорапты түрлері Box‹dyn FnOnce›, Box‹dyn FnMut› және Box‹dyn Fn›;
  • Қосылды мүмкіндік жабуларды қауіпті функция көрсеткіштеріне құю (қауіпті fn);
  • Макросты «dbg!» деп атау мүмкіндігі енгізілді. шартты өрнектердің жұмысын жөндеуге ыңғайлы айнымалыны тексерусіз stderr-де файл атауын және жол нөмірін көрсету үшін аргументсіз;
  • f32 және f64 қалқымалы нүкте түрлеріне " әдісі қосылдыкөшіру белгісі» таңбаны бір саннан екіншісіне көшіру;
  • «Қосылған әдіс»құрамында бар«, ол көрсетілген мәннің диапазонда екенін тексеруге мүмкіндік береді;
  • Қосылған әдіс Сілтеме:Ұяшық:картаны_бөлу, қарызға алынған деректердің әртүрлі құрамдас бөліктері үшін қарызға алынған RefCell мәнін көрсетуге және бөлуге мүмкіндік береді;
  • Қосылған әдіс RefCell::replace_with ағымдағы RefCell мәнін ауыстыру және нәтиже ретінде ескі мәнді қайтару;
  • Қосылған әдіс ptr::хэш адрестелген мәннен гөрі мекенжай бойынша көрсеткішті немесе сілтемені хэштеу;
  • Қосылған әдіс Опция::көшірілді Option‹&T› немесе Option‹&mut T› опцияларының мазмұнын көшіру үшін;
  • API интерфейстерінің жаңа бөлігі тұрақталған әдістерді қоса, тұрақты санатқа ауыстырылды
    f32::көшірме белгісі,
    f64::көшірме белгісі,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::хэш,
    Ауқым::құрамында,
    RangeFrom::құрамында,
    RangeTo::құрамында,
    RangeInclusive::құрамында,
    RangeToInclusive::құрамында және
    Опция::көшірілді;

  • drop_bounds тексеруі clippy (линтер) параметріне қосылды, ол функцияға «T: Drop» байланыстыруын қосқанда іске қосылады;
  • Компилятор жаңа мақсатты платформаға қолдау қосты
    wasm32-белгісіз-wasi (интерфейс WASI WebAssembly браузерден тыс пайдалану үшін);

  • Rust құралдар жинағы стандартты C кітапханасы Musl негізіндегі таратылымдарға бейімделген.

Ақпарат көзі: opennet.ru

пікір қалдыру