Hoʻokuʻu ʻia ʻo Rust 1.35

ua hanaia hoʻokuʻu ʻōlelo hoʻolālā ʻōnaehana Popo 1.35, hoʻomohala ʻia e ka papahana Mozilla. Hoʻopili ka ʻōlelo i ka palekana hoʻomanaʻo, hāʻawi i ka hoʻokele hoʻomanaʻo ʻakomi, a hāʻawi i kahi ala e hoʻokō ai i ka parallelism hana kiʻekiʻe me ka hoʻohana ʻole ʻana i ka ʻōpala a i ʻole ka wā holo.

Hoʻokuʻu ka hoʻokele hoʻomanaʻo ʻakomi a Rust i ka mea hoʻomohala mai ka hoʻopololei ʻana i ka pointer a pale aku i nā pilikia e kū mai ana mai ka hoʻohana ʻana i ka hoʻomanaʻo haʻahaʻa haʻahaʻa, e like me ka loaʻa ʻana o ka hoʻomanaʻo ʻana ma hope o ka manuahi, ka hoʻihoʻi ʻole ʻana o ka pointer, ka hoʻonui ʻana i ka buffer, a me nā mea like. Ke kūkulu ʻia nei kahi luna pūʻolo e puʻunaue i nā hale waihona puke, e hōʻoia i ka hui ʻana a me ka mālama ʻana i nā hilinaʻi e ka papahana. waiwai, hiki iā ʻoe ke kiʻi i nā hale waihona puke e pono ai no ka papahana i hoʻokahi kaomi. Kākoʻo ʻia kahi waihona no ka mālama ʻana i nā hale waihona puke crates.io.

ka papa kuhikuhiE nā mea hou:

  • Nā hiʻohiʻona FnOnce, FnMut и Fn hoʻokō ʻia no ka hoʻokaʻawale ʻana i ka puʻu ʻano pahu pahu Box‹dyn FnOnce›, Box‹dyn FnMut› a me Box‹dyn Fn›;
  • Hoʻohui ʻia manawa maopopo hoʻolei ʻana i nā pani i nā kuhikuhi hana palekana (unsafe fn);
  • Hoʻokō i ka hiki ke kāhea i ka macro "dbg!" me ka ʻole o nā hoʻopaʻapaʻa no ka hōʻike ʻana i ka inoa faila a me ka helu laina ma stderr me ka ʻole o ka nānā ʻana i ka loli, kahi kūpono no ka debugging i ka hana o nā ʻōlelo kūlana;
  • Hoʻohui ʻia ke ʻano " i nā ʻano kiko lana f32 a me f64hōʻailona kope» e kope i kekahi huahelu mai kekahi helu a i kekahi;
  • Hoʻohui ʻia ke ʻano "aia i loko", e hiki ai iā ʻoe ke nānā inā aia ka waiwai i ʻōlelo ʻia i loko o ka laulā;
  • Hoʻohui ʻia ke ʻano Ref:Cell:map_split, hiki iā ʻoe ke noʻonoʻo a hoʻokaʻawale i ka waiwai RefCell i hōʻaiʻē ʻia no nā ʻāpana like ʻole o ka ʻikepili i hōʻaiʻē ʻia;
  • Hoʻohui ʻia ke ʻano RefCell::replace_with e hoʻololi i ka waiwai RefCell o kēia manawa a hoʻihoʻi i ka waiwai kahiko ma ke ʻano he hopena;
  • Hoʻohui ʻia ke ʻano ptr::hash e hoʻokaʻawale i kahi kuhikuhi a kuhikuhi paha ma kahi helu wahi ma mua o ka waiwai i ʻōlelo ʻia;
  • Hoʻohui ʻia ke ʻano Koho:: kope e kope i nā mea o nā koho Option‹&T› a i ʻole Option‹&mut T›;
  • Ua hoʻoili ʻia kahi ʻāpana hou o nā API i ka ʻāpana paʻa, me nā ʻano hana i hoʻopaʻa ʻia
    f32:: kope hōʻailona,
    f64:: kope hōʻailona,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Laulā:: loaʻa,
    RangeFrom::contains,
    RangeTo:: loaʻa,
    RangeInclusive:: loaʻa,
    RangeToInclusive:: loaʻa a
    Koho::kope;

  • Hoʻohui ʻia ka helu drop_bounds i clippy (linter), i hoʻomaka ʻia i ka wā e hoʻohui ai i kahi "T: Drop" i hoʻopaʻa ʻia i ka hana;
  • Ua hoʻohui ka mea hōʻuluʻulu i ke kākoʻo no kahi kahua pahuhopu hou
    wasm32-unknown-wasi (interface WASI e hoʻohana i ka WebAssembly ma waho o ka polokalamu kele pūnaewele);

  • Hoʻololi ʻia ka pahu hana Rust no ka hāʻawi ʻana ma muli o ka waihona C maʻamau Musl.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka