Rust 1.68 Programming Language Release

De algemiene programmeertaal Rust 1.68, oprjochte troch it Mozilla-projekt mar no ûntwikkele ûnder auspysjes fan de ûnôfhinklike non-profit organisaasje Rust Foundation, is frijjûn. De taal rjochtet him op ûnthâld feilichheid en jout de middels te berikken hege baan parallelism wylst it foarkommen fan it brûken fan in garbage collector en runtime (runtime wurdt redusearre ta basis inisjalisaasje en ûnderhâld fan de standert bibleteek).

De metoaden foar ûnthâldbehanneling fan Rust besparje de ûntwikkelder fan flaters by it manipulearjen fan oanwizers en beskermje tsjin problemen dy't ûntsteane troch ûnthâldôfhanneling op leech nivo, lykas tagong krije ta in ûnthâldgebiet nei't it befrijd is, it ferwizen fan nul-oanwizers, buffer-oerrin, ensfh. Om bibleteken te fersprieden, builds te leverjen en ôfhinklikens te behearjen, ûntwikkelet it projekt de Cargo-pakketbehearder. It crates.io repository wurdt stipe foar hosting fan bibleteken.

Unthâld feilichheid wurdt foarsjoen yn Rust op it gearstallen tiid troch referinsje kontrôle, byhâlden fan foarwerp eigendom, byhâlden fan foarwerp lifetimes (omfang), en beoardielje de korrektheid fan ûnthâld tagong by koade útfiering. Rust leveret ek beskerming tsjin oerstreamingen fan heule getal, fereasket ferplichte inisjalisaasje fan fariabele wearden foar gebrûk, behannelet flaters better yn 'e standertbibleteek, tapast standert it konsept fan ûnferoarlike referinsjes en fariabelen, biedt sterke statyske typen om logyske flaters te minimalisearjen.

Wichtichste ynnovaasjes:

  • De Cargo-pakketbehearder en it crates.io-repository hawwe stipe stabilisearre foar it Sparse-protokol, dat in nije manier definiearret fan wurkjen mei in yndeks dy't de beskikbere ferzjes fan alle pakketten besteande yn 'e repository reflektearret. It nije protokol lit jo de snelheid fan wurkjen mei crates.io signifikant ferheegje en skaalproblemen oplosse mei fierdere groei yn it oantal pakketten yn 'e repository.

    Om de fertragingen te ferminderjen dy't feroarsake binne troch it downloaden fan in folsleine yndeks, Sparse ynstee fan tagong ta de yndeks mei Git omfettet direkte download oer HTTPS allinich de nedige yndeksgegevens, dy't de ôfhinklikens fan in bepaald projekt dekke. In nije tsjinst, index.crates.io, wurdt brûkt om yndeksgegevens te leverjen. Standert is it nije protokol pland om te brûken yn 'e Rust 1.70-tûke, en dêrfoar kinne jo de omjouwingsfariabele ynstelle "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" of de parameter 'protokol =' taheakje oan de "[registries. crates-io]" seksje fan it .cargo/config.toml-bestân 'sparse'.

  • Taheakke de "pin!"-makro, wêrtroch jo in Pin<&mut T>-struktuer kinne meitsje fan 'e útdrukking "T" mei lokale pinning fan syn steat (yn tsjinstelling ta Box:: pin, it jout gjin ûnthâld oan 'e heap, mar bynt op stapelnivo).
  • In standert ûnthâld tawizing flater handler is foarsteld, brûkt by it brûken fan de standert alloc pakket. Applikaasjes dy't allinich alloc ynskeakelje (sûnder std) sille no de "panic!"-hanneler neame as ûnthâldtawizing mislearret, dy't opsjoneel kin wurde ûnderskept mei "#[panic_handler]". Programma's dy't de std-bibleteek brûke sille trochgean mei it printsjen fan flaterynformaasje nei stderr en crash.
  • In nij diel fan 'e API is ferpleatst nei de kategory stabile, ynklusyf de metoaden en ymplemintaasjes fan eigenskippen binne stabilisearre:
    • {core,std}::pin::pin!
    • impl fan foar {f32,f64}
    • std::paad::MAIN_SEPARATOR_STR
    • impl DerefMut foar PathBuf
  • It attribút "const", dat de mooglikheid bepaalt om it yn elke kontekst te brûken ynstee fan konstanten, wurdt brûkt yn 'e VecDeque :: nije funksje.
  • Om op it Android-platfoarm te wurkjen is no teminsten NDK r25 (API 19) nedich, d.w.s. De minimale stipe Android-ferzje is ferhege nei 4.4 (KitKat).
  • It tredde nivo fan stipe is ymplementearre foar it Sony PlayStation Vita-platfoarm (armv7-sony-vita-newlibeabihf). It tredde nivo omfettet basisstipe, mar sûnder automatisearre testen, publisearjen fan offisjele builds, of kontrolearjen oft de koade boud wurde kin.

Boarne: opennet.ru

Add a comment