Rubigo 1.58 Programming Language Release

Dimissio generalis propositi programmandi linguae Rust 1.58, a Mozilla projecta fundata, nunc sub auspiciis organizationis Rust Fundationis independentis non lucri, divulgatum est. Lingua ad salutem memoriae intendit, administrationem automaticam memoriam praebet et instrumenta praebet ut parallelismum perficiat sine purgamento collectoris vel runtime adhibito (runtime ad initializationem et sustentationem bibliothecae vexillum fundamentalis redactus est).

Rubigo latae memoriae administratio errores excludit cum abusionibus indicibusque et quaestionibus ab humili gradu memoriae manipulationis ortis protegit, ut accessu memoriae regionis, postquam liberata est, nullum indicium dereferences, quiddam eliminatum, etc. Bibliothecas distribuere, conventum curare ac clientelas regere, consilium sarcina oneraria administrare. Crates.io repositorium ad bibliothecas hospites sustentatur.

Innovationes principales:

  • In linea formatting caudices, praeter facultates iam paratas substituendi variabiles explicite recensita linea numero et nomine, facultas substituendi arbitrarios identificatores addendo ad lineam "{identificantis" perficiatur. For example: // Antea constructiones subnixa: println!("Salve, {}!", get_person()); println!("Salve, {0}!" println!("Salve, {person}!", person = get_person()); // nunc specificare potes persona = get_person(); println!("Salve, {person}!"

    Identifiorum directe quoque in optionibus formandis specificari possunt. get_format(); pro (nomen, score) in get_score() { println!("{name}: {score:width$.precision$}"); }

    Nova substitutio in omnibus macros, qui definitionem format chordarum sustinent, operatur, excepto "panic". in 2015 et 2018 versiones Rusticae linguae, in quibus terror!("{ident}") tractatur ut chorda regularis (in Rust 2021 opera substitutionis).

  • Mores std ::processus::Mandati structuram in Fenestra suggestu mutatam esse ut cum mandata exequens, propter rationes securitatis, documenta exsecutabilia in directorio currenti non amplius exquirat. Directorium hodiernum excluditur quia malitiosorum codicem exercere posset si programmata in directoriis incertis concurrant (CVE-2021-3013). Nova deprehensio exsecutabilis logica involvit investigationes Rubiginis directoria, directorium applicationis, directorium systematis Fenestra, et directoria determinata in ITER environment variabilis.
  • Commodus bibliotheca numerum functionum designatarum "#[uti]" dilatavit ut moneret si reditus pretii neglectus est, qui errores recognoscendos adiuvat assumendo functionem mutabunt valores potius quam novum valorem reddere.
  • Nova portio API in categoriis stabilis mota est, additis methodis et notarum exsecutionibus confirmatae sunt:
    • Metadata:: is_symlink
    • Semita::is_symlink
    • { integer } :: saturating_div
    • Option :: unwrap_unchecked
    • Consequuntur :: unwrap_unchecked
    • Consequuntur :: unwrap_err_unchecked
  • attributum "const", quod determinat facultatem utendi in quovis contextu loco constantium, in functionibus adhibetur;
    • Durationem :: novam
    • Durationem :: checked_add
    • Durationem :: saturating_add
    • Durationem :: checked_sub
    • Duratio :: saturating_sub
    • Duratio :: sedatus_mul
    • Duratio :: saturating_mul
    • Duratio:: sedatus_div
  • Liceat dereferenceing of "const T" indicibusque in contextibus "const".
  • In involucro sarcinario onerariarum, rust_version agri ad metadata sarcinam additum est, et "-nuntius forma" optioni ad "instituendum onerariam" mandatum est.
  • Compilator instrumentorum subsidiorum pro CFI (Control flow Integrity) mechanismum tutelae, quae addit impedimenta ante quamlibet indirectam vocationem ad aliquas indefinitas mores deprehendendas formas, quae potentiam ducere possunt ad violationem ordinis exsecutionis normalis (fluxus imperii) sicut effectus. rerum gestarum usus, quae mutatio indicibus in munerum memoriam reposita est.
  • Compilator subsidium versionibus 5 et 6 ex LLVM coverage comparationis forma addidit, codicem coverage in probatione aestimare usus est.
  • In compilator, requisita ad versionem minimam LLVM eriguntur ad LLVM 12 .
  • Tertius gradus subsidii ad nullum suggestum x86_64-ignotum impletum est. Tertius gradus fundamentalis subsidii implicat, sed sine probatione automated, officialium aedificationum evulgandarum, vel iniecta an codici aedificari possit.

Accedit, notare possumus editionem per Microsoft emissionis Rust pro Fenestra 0.30 bibliothecarum, quae permittitis uti lingua Rust ut applicationes enucleare pro Fenestra OS. Copia duas sarcinas cratis (fenestras et fenestras-sys) includit, per quas in programs Rust Win API accedere potes. Codicis pro API subsidium dynamice a metadata describente API generatur, quod te permittit ad efficiendum subsidium non solum ad vocatum Win API existendum, sed ad vocat quod in futuro apparebit. Nova versio subsidium UWP (Universalis Fenestra Platform) scopus suggestus ac manubrium ac debug genera parat.

Source: opennet.ru