Rust 1.69 Programméiersprooch Fräisetzung

D'Verëffentlechung vun der Rust 1.69 allgemeng Zweck Programméierungssprooch, gegrënnt vum Mozilla-Projet, awer elo entwéckelt ënner der Regie vun der onofhängeger Asbl Rust Foundation, gouf publizéiert. D'Sprooch konzentréiert sech op d'Erënnerungssécherheet a stellt d'Moyene fir en héije Jobparallelismus z'erreechen, während d'Benotzung vun engem Gerempels a Runtime vermeit (Runtime gëtt op Basisinitialiséierung an Ënnerhalt vun der Standardbibliothéik reduzéiert).

Rust d'Erënnerungsveraarbechtungsmethoden retten den Entwéckler vu Feeler beim Manipulatioun vu Pointer a schützt géint Probleemer déi entstinn wéinst nidderegen Niveau Memory Handhabung, sou wéi Zougang zu engem Erënnerungsberäich nodeems se befreit gouf, Nullpointer ofgeleent, Pufferiwwerschlag, etc. Fir Bibliothéiken ze verdeelen, Builds ze bidden an Ofhängegkeeten ze managen, entwéckelt de Projet de Cargo Package Manager. De crates.io Repository gëtt ënnerstëtzt fir Bibliothéiken ze hosten.

Gedächtnissécherheet gëtt a Rust zur Zesummesetzungszäit zur Verfügung gestallt duerch Referenzprüfung, Verfollegung vum Objektbesëtzer, Verfollegung vun Objektliewenszäiten (Scope), an d'Korrektheet vum Gedächtniszougang wärend der Code Ausféierung bewäerten. Rust bitt och Schutz géint ganz Zuelen Iwwerschwemmungen, erfuerdert obligatoresch Initialiséierung vu variabelen Wäerter virum Gebrauch, handhabt Feeler besser an der Standardbibliothéik, applizéiert d'Konzept vun onverännerleche Referenzen a Variablen als Standard, bitt staark statesch Tippen fir logesch Feeler ze minimiséieren.

Haaptinnovatiounen:

  • De Cargo Package Manager implementéiert d'Detektioun vun Warnungen déi automatesch geléist kënne ginn an déi entspriechend Empfehlungen fir "cargo fix" oder "cargo clippy --fix" auszeféieren. Warnung: onbenotzt Import: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | benotzen std::hash::hash; | ^^^^^^^^^^^^^^^^^ | = Notiz: '#[warn(unused_imports)]' un als Standardwarnung: 'foo' (bin "foo") generéiert 1 Warnung (run 'cargo fix --bin "foo"' fir 1 Virschlag anzesetzen)
  • Füügt Cargo fir eng Empfehlung ze weisen fir de Kommando "cargo add" ze benotzen wann Dir probéiert eng Bibliothéik mam Kommando "cargo install" z'installéieren.
  • Fir d'Kompilatiounszäit ze reduzéieren, ass d'Debugging-Informatioun a Build-Skripte als Standard deaktivéiert. Wann d'Build Scripten erfollegräich lafen, wäert d'Ännerung kee sichtbaren Ënnerscheed maachen, awer wann et klappt, enthält de Backtrace Dump manner Informatioun. Fir dat alt Verhalen op Cargo.toml zréckzebréngen: [profile.dev.build-override] debug = wouer [profile.release.build-override] debug = wouer
  • En neien Deel vun der API gouf an d'Kategorie vum Stall geplënnert, dorënner d'Methoden an d'Implementatioune vun de Charaktere goufen stabiliséiert:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • Den Attribut "const", wat d'Méiglechkeet bestëmmt et an all Kontext ze benotzen anstatt Konstanten, gëtt a Funktiounen benotzt:
    • SocketAddr :: nei
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4 :: nei
    • SocketAddrV4::ip
    • SocketAddrV4 :: port
    • SocketAddrV6 :: nei
    • SocketAddrV6::ip
    • SocketAddrV6 :: port
    • SocketAddrV6 :: flowinfo
    • SocketAddrV6::scope_id
  • D'Fäegkeet bäigefüügt fir richteg a falsch Fändelen a Compiler Argumenter ze benotzen.

Source: opennet.ru

Setzt e Commentaire