Rust 1.69 Kutulutsa Chilankhulo cha Mapulogalamu

Chilankhulo chothandizira anthu ambiri Rust 1.69, chomwe chinakhazikitsidwa ndi polojekiti ya Mozilla koma tsopano chapangidwa mothandizidwa ndi bungwe lodziyimira pawokha lopanda phindu la Rust Foundation, chatulutsidwa. Chilankhulochi chimayang'ana kwambiri pachitetezo cha kukumbukira ndipo chimapereka njira zopezera kufananiza kwakukulu kwa ntchito ndikupewa kugwiritsa ntchito chotolera zinyalala ndi nthawi yothamanga (nthawi yothamanga imachepetsedwa kuti ikhale yoyambira ndikukonza laibulale yokhazikika).

Njira zogwiritsira ntchito kukumbukira za Rust zimapulumutsa wopanga ku zolakwika pamene akuwongolera zolozera ndikuteteza ku zovuta zomwe zimadza chifukwa cha kukumbukira kwapang'onopang'ono, monga kupeza malo okumbukira atamasulidwa, kuchotsa zolozera zopanda pake, ma buffer overruns, etc. Kugawira malaibulale, kupereka zomanga ndi kusamalira zodalira, pulojekitiyi imapanga woyang'anira phukusi la Cargo. Malo osungiramo crates.io amathandizidwa kuti azisunga malaibulale.

Kutetezedwa kwa Memory kumaperekedwa mu Rust panthawi yophatikiza kudzera pakuwunika, kuyang'anira umwini wa chinthu, kuyang'anira nthawi ya moyo wa chinthu (ma scopes), ndikuwunika kulondola kwa kukumbukira kukumbukira panthawi yopanga ma code. Dzimbiri limaperekanso chitetezo ku kusefukira kwazinthu zonse, kumafuna kukhazikitsidwa kovomerezeka kwa zinthu zosinthika musanagwiritse ntchito, kuwongolera zolakwika bwino mulaibulale yokhazikika, kumagwiritsa ntchito lingaliro la maumboni osasinthika ndi zosintha mwachisawawa, kumapereka zilembo zolimba kuti muchepetse zolakwika zomveka.

Zatsopano zazikulu:

  • Woyang'anira phukusi la Cargo amagwiritsa ntchito kuzindikira kwa machenjezo omwe amatha kuthetsedwa okha ndi malingaliro oyenera kuyendetsa "cargo fix" kapena "cargo clippy --fix". chenjezo: kulowetsa kosagwiritsidwa ntchito: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | gwiritsani ntchito std::hash::hash; | | ^^^^^^^^^^^^^^^^ | = zindikirani: '#[chenjezani (zosagwiritsidwa ntchito_zolowera)]' chenjezo losakhazikika: 'foo' (bin "foo") latulutsa chenjezo limodzi (thamangani 'cargo fix --bin "foo"' kuti mugwiritse ntchito lingaliro limodzi)
  • Added Cargo kusonyeza malingaliro ogwiritsira ntchito lamulo la "cargo add" poyesa kukhazikitsa laibulale ndi lamulo la "cargo install".
  • Kuti muchepetse nthawi yophatikizira, kukonza zolakwika muzolemba zomangika kuzimitsidwa mwachisawawa. Ngati zolembera zomanga zikuyenda bwino, kusinthako sikungapangitse kusiyana kulikonse, koma ngati sikulephera, kutaya kwa backtrace kudzakhala ndi chidziwitso chochepa. Kuti mubwezere khalidwe lakale ku Cargo.toml onjezani: [profile.dev.build-override] debug = zoona [profile.release.build-override] debug = zoona
  • Gawo latsopano la API lasunthidwa ku gulu lokhazikika, kuphatikiza njira ndi kukhazikitsidwa kwa machitidwe akhazikika:
    • CStr::kuchokera_bytes_mpaka_nul
    • pachimake::ffi::FromBytesUntilNulError
  • Lingaliro la "const", lomwe limatsimikizira kuthekera kogwiritsa ntchito mwanjira iliyonse m'malo mwa zokhazikika, limagwiritsidwa ntchito muzochita:
    • SocketAddr ::zatsopano
    • SocketAddr::ip
    • SocketAddr ::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4 ::zatsopano
    • SocketAddrV4::ip
    • SocketAddrV4 :: doko
    • SocketAddrV6 ::zatsopano
    • SocketAddrV6::ip
    • SocketAddrV6 :: doko
    • SocketAddrV6 ::flowinfo
    • SocketAddrV6 ::scope_id
  • Anawonjezera luso logwiritsa ntchito mbendera zowona ndi zabodza pamakangano ophatikiza.

Source: opennet.ru

Kuwonjezera ndemanga