Rubigo 1.66 Programming Language Release

Consilium programmandi generalis-propositum linguae Rust 1.66, fundatum a Mozilla inceptum, nunc sub auspiciis instituendi Rust Foundation independens non lucrum, dimissum est. Lingua ad salutem memoriae intendit et medium praebet ut ad summum officium parallelismum perveniatur, vitato purgamentorum collectoris et runtime usui (runtime ad initializationem fundamentalem et sustentationem bibliothecae vexillum redacta est).

Rubiginis methodos memoria tractandi praeter elit ab erroribus, cum argumentis abusionibus defendunt et contra difficultates oriuntur, ob memoriam humili gradu tractantem, ut accessu memoriae area postquam liberata est, dereferencing nullis indicibus, quiddam eliminatum, etc. Bibliothecas distribuere, aedifices praebere et clientelas administrare, consilium sarcina oneraria onerariarum enucleat. Crates.io repositorium ad bibliothecas hospites sustentatur.

Memoria salutis in Rubigo tempore compilationis providetur, per respectum inhibitionem, semita obiecti possessionis custodiens, semita obiecti vitarum (scoporum), et rectitudo memoriae accessum perpendens in codice executioni. Rubigo etiam tutelam praebet contra integris scaenicis, amet initializationem valorum variabilium ante usum requirit, errores meliores in bibliotheca norma tractat, notionem immutabilium indiciorum et variabilium per defaltam applicat, validas typings stabilis praebet ad errores logicos extenuendos.

Innovationes principales:

  • In enumerationibus integris repraesentationibus (per attributum "#[repr(int)]"), expressa significatio distinctionis (numerus optionis in enumeratione) permittitur, etsi enumeratio agros continet. #[repr(u8)] enum Foo { A(u8), # discriminant 0 B(i8), # discriminant 1 C(bool) = 42, # discriminant 42}
  • Core :: admonitus :: black_box munus, quod simpliciter valorem receptum refert. Quia compilator credit functionem datam rem specificam agere, functio black_box adhiberi potest ad optimam loramenta compilatoris inactivandi cum codicem perficiendi probatum faciendo vel examinans codicem machinae generatum (ita ut compilator non consideret codicem inutilem et removendum eum). Exempli gratia, in exemplo infra, denotans box (v.as_ptr()) impedit compilator, ne vector v in usu non sit. uti std :: hint :: black_box ; fn push_cap(v: &mut Vec) { for i in 0..4 { v.push(i); black_box(v.as_ptr()); } }
  • Procurator sarcina "max" offert mandatum "removere", quod permittit ut clientelas e Cargo.toml removeas, manifesto ex mandato lineae.
  • Nova portio API in categoriis stabilis mota est, additis methodis et notarum exsecutionibus confirmatae sunt:
    • proc_macro ::Span ::source_text
    • u * :: {checked_add_signed, exuberantia_add_signed, saturating_add_signed, wrapping_add_signed}
    • i*:: {checked_add_unsigned, exuberantia_add_unsigned, saturating_add_unsigned, wrapping_add_unsigned}
    • i*:: {checked_sub_unsigned, exuberantia_sub_unsigned, saturating_sub_unsigned, wrapping_sub_unsigned}
    • BTreeSet::{primus, ultimus, pop_first, pop_last}
    • BTreeMap :: {first_key_value, last_key_value, first_entry, last_entry, pop_first, pop_last}
    • Adde exsecutiones AsFd pro stdio cincinno typi cum WASI utendo.
    • impl TryFrom > pro Box<[T; N]>
    • core :: hint :: black_box
    • Duratio:: try_from_secs_{f32,f64}
    • Option::unzip
    • std ::os ::fd
  • Circulorum usus "..X" et "..=X" permittitur in template.
  • Cum ad frontem rubiginis compilatoris et posteriori LLVM conveniendo, optimizationes modos LTO (Link Time Optimization) et BOLT (Binary Optimization and Layout Tool) adhibitae sunt, quae augere permittunt effectum consequentis codicis ac memoriam consummationis minuendi.
  • Tertius gradus subsidii in armv5te-none-eabi et thumbv5te-none-eabi adlevata est. Tertius gradus fundamentalis subsidii implicat, sed sine probatione automated, officialium aedificationum evulgandarum, vel iniecta an codici aedificari possit.
  • Addidit subsidium ligandi cum bibliothecis macOS universalibus.

Insuper notare possumus inclusionem anterioris linguae compilatoris Rust (gccrs) in basi GCC codice. Frons in GCC 13 ramo comprehenditur, quae mense Maio 2023 solvetur. Incipiens a GCC XIII, instrumentorum indigenarum GCC programmata in lingua rubigine compilare possunt sine necessitate ad instituendum rustc compilator, utendo LLVM explicationibus aedificatum. GCC 13 Rust exsecutio versionis beta erit, non per default enabled.

Source: opennet.ru