Rubigo 1.47 Programming Language Release

Dimittis 1.47 de Rust systema programmandi lingua, a Mozilla project, divulgata 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 et clientelas regere, consilium sarcina oneraria onerariarum enucleat. Crates.io repositorium ad bibliothecas hospites sustentatur.

Innovationes principales:

  • Sustentationem inductae pro vestit arbitrariae magnitudinis. Antea, ob inhabilitatem functionum genericarum pro omnibus integris valoribus definiendi, norma bibliothecae subsidii modo constructa-in tramitatione subsidia tantum vestit usque ad 32 elementa in magnitudine (lineamenta pro unaquaque magnitudine statice definita erant). Per creationem generis functionis constabilitae, possibilia sunt functiones genericas pro quavis ordinata magnitudine definire, sed nondum in stabili linguae lineamentis comprehenduntur, quamvis in compilator exsequantur et nunc in bibliotheca normarum adhibeantur. ad genera ordinata cuiuslibet magnitudinis.
    Exempli gratia, haec constructio in Rust 1.47 contenta ordinatae imprimet, cum antea in errore evenisset:

fnmain() {
sit xs = [0; 34];
println!("{:?}", xs);
}

  • Provisum output de vestigiis brevioribus (backtrace), output in subitis condicionibus. Elementa, quae in pluribus adiunctis non sunt usuris, sed acervus intentus ac distrahens attentionem a primis causis quaestionis, a vestigio excluduntur. Ut vestigium plenum referre possis, "RUST_BACKTRACE=plenum" uti potes. Exempli gratia, pro codice

fnmain() {
terror!();
}

Antea vestigium in 23 gradibus, nunc autem ad tres gradus redigetur, permittens te statim essentiam comprehendere;

thread 'main' panicum 'panicum' expressum, src/main.rs:2:5
BIBLIOTHECA REDITIO:
0: std :: panicing ::begin_panic
at /rustc/d..d75a/library/std/src/panicking.rs:497
1: playground ::main
apud ./src/main.rs:2
2: core :: ops :: function :: FnOnce :: call_once
at /rustc/d...d75a/library/core/src/ops/function.rs:227

  • Rusticus compilator renovatus est ad LLVM 11 aedificandum utens (Rust LLVM ut a backend for code generation uses). Eodem tempore facultas aedificandi cum veteribus LLVM, usque ad versionem 8, retinetur, sed defectu (in rust-lang/llvm-project) LLVM 11 nunc adhibetur. diebus.
  • In Fenestra suggestu, rustc compilator fulcimentum praebet ut integritas coercet (Control Flow Guard), utens "-C imperium-profluentem custodiae" vexillum utens. In aliis suggestis vexillum hoc nunc neglectum est.
  • Nova portio API categoriae stabilis translata est, inclusa stabilita Ident::new_raw, Range::is_empty, RangeInclusive::is_empty, Result::as_deref, Result::as_deref_mut, Vec ::leak, monstratorem ::offset_from f32: : TAU et f64::TAU.
  • Attributum "const", quod facultatem utendi in quovis contextu loco constantium determinat, in modis adhibetur:
    • novis omnibus integris praeter nulla;
    • repressit_add, checked_sub, checked_mul, checked_neg, checked_shr, saturating_add, saturating_sub and saturating_mul for all integris;
    • is_ascii, is_ascii, is_ascii, is_ascii, is_ascii, is_ascii_alphanumeric, is_ascii, is_ascii, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii, is_ascii, is_ascii_control for char&u8 types.
  • Pro FreeBSD, instrumentum a FreeBSD 11.4 adhibitum est (FreeBSD 10 LLVM 11) non sustinet.

Ex opennet.ru

Source: linux.org.ru