Rust 1.35 Programming Language Tso tawm

coj qhov chaw system programming lus tso tawm Xeb 1.35, tsim los ntawm Mozilla qhov project. Cov lus hais txog kev nyab xeeb ntawm kev nco, muab kev tswj hwm kev nco tsis siv neeg, thiab muab txoj hauv kev kom ua tiav cov haujlwm siab sib luag yam tsis tas siv cov khoom khib nyiab lossis lub sijhawm ua haujlwm.

Rust qhov kev tswj hwm tsis siv neeg lub cim xeeb tso tawm tus tsim tawm los ntawm kev siv tus taw tes thiab tiv thaiv cov teeb meem tshwm sim los ntawm kev tswj hwm lub cim xeeb qis, xws li kev nkag mus rau lub cim xeeb tom qab tsis pub dawb, tsis muaj qhov taw qhia tsis zoo, tsis muaj kev cuam tshuam, thiab lwm yam. Tus neeg saib xyuas pob yog tsim los faib cov tsev qiv ntawv, xyuas kom muaj kev sib dhos thiab tswj cov kev vam meej los ntawm qhov project. cargo, tso cai rau koj kom tau txais cov tsev qiv ntawv xav tau rau qhov kev pab cuam hauv ib nias. Lub chaw khaws cia tau txais kev txhawb nqa rau cov tsev qiv ntawv crates.io.

ntsiab kev tsim kho tshiab:

  • Cov yam ntxwv FnOnce, FnMut и Fn siv rau heap-alocated boxed hom Box‹dyn FnOnce›, Box‹dyn FnMut› thiab Box‹dyn Fn›;
  • Ntxiv sijhawm casting kaw rau qhov tsis muaj kev ua haujlwm pointers (tsis zoo fn);
  • Siv lub peev xwm hu rau macro "dbg!" tsis muaj kev sib cav rau kev nthuav tawm cov npe ntawm cov ntaub ntawv thiab kab xov tooj hauv stderr yam tsis tau tshuaj xyuas qhov sib txawv, uas yooj yim rau kev debugging kev ua haujlwm ntawm cov kab lus raws cai;
  • Ntxiv txoj kev "mus rau ntab taw tes hom f32 thiab f64luam ntawv» luam tus cim los ntawm ib tus lej mus rau lwm tus;
  • Ntxiv txoj kev "muaj", uas tso cai rau koj los xyuas seb tus nqi teev nyob hauv qhov ntau;
  • Ntxiv txoj kev Ref:Cell:map_split, tso cai rau koj los xav txog thiab cais cov nqi qiv RefCell rau cov khoom sib txawv ntawm cov ntaub ntawv qiv;
  • Ntxiv txoj kev RefCell::replace_with hloov tus nqi RefCell tam sim no thiab xa rov qab tus nqi qub raws li qhov tshwm sim;
  • Ntxiv txoj kev ptr:: ua kom hash tus pointer lossis siv los ntawm qhov chaw nyob es tsis yog qhov chaw nyob;
  • Ntxiv txoj kev Option:: theej luam cov ntsiab lus ntawm Option ‹&T› lossis Option ‹&mut T› xaiv;
  • Ib feem tshiab ntawm APIs tau raug xa mus rau pawg ruaj khov, suav nrog cov txheej txheem uas tau ua kom ruaj khov
    f32 ::coj.
    f64 ::coj.
    RefCell::replace_with,
    RefCell::map_split,
    ptr ::hwb,.
    Range:: muaj,
    RangeFrom:: muaj,
    RangeTo:: muaj,
    RangeInclusive:: muaj,
    RangeToInclusive:: muaj thiab
    Kev xaiv:: theej;

  • Ntxiv drop_bounds kos rau clippy (linter), uas yog tshwm sim thaum ntxiv "T: Tso" khi rau txoj haujlwm;
  • Lub compiler tau ntxiv kev txhawb nqa rau lub hom phiaj tshiab
    wasm32-unknown-wasi (interface WASI siv WebAssembly sab nraum browser);

  • Cov cuab yeej Rust tau hloov kho rau kev faib khoom raws li tus qauv C tsev qiv ntawv Musl.

Tau qhov twg los: opennet.ru

Ntxiv ib saib