Rubigo 1.61 Programming Language Release

Consilium programmandi generalis-propositum linguae Rust 1.61, 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:

  • Definiri potest codicem reditus tuos ex praecipuo munere. Principio, Rust munus principale solum genus referre "()" (unitas) potuit, quae semper prosperum exitum status significavit, nisi elit explicite vocatus "processus:: exitus (code)" munus. In Rust 1.26, instabili terminatione notarum in principali functione usus, valores "Ok" et "Err" reverti potuit, congruentibus EXIT_SUCCESSIBUS et EXIT_ DEFECTIO codicibus in C programmatis. In Rust 1.61, Terminatio lineatio stabilis facta est, et genus ExitCode separatum proponitur ad repraesentandum codicem specificum reditus, qui speciem reditus speciei suggesti abstrahit, praefinitas constantes successus et DELICTUM, et A methodo. morem redire codicem reddere. usus std :: processus :: ExitCode; fn main() -> ExitCode { si !check_foo() { return ExitCode ::ex(8); } ExitCode :: EXITUS }
  • Additae functionum facultates confirmatae sunt definitae adhibitis locutionibus "const fn", quae dici possunt non solum functiones regulares, sed etiam in quovis contextu loco constantium adhibitae. Hae functiones tempore compilatae computantur, non in tempore, ideo certis restrictionibus obnoxiae sunt, ut facultas legendi solum a constantibus. In nova versione, operationes fundamentales cum indicibus functionibus permittuntur intra functiones constantes (permittuntur indicibus creando, transeuntibus et dejectis, sed functionem non vocantem a monstratore); lineas lineas pro parametrorum generum functionum constantium ut T: Exemplar; dynamice notae litterae dynamice (dyn Trait); impl Trait rationes pro functionibus argumentis et valores reditus.
  • Rivus Stdin, Stdout et Stderr in std ::io nunc vitam static ("'static" obclusam habent, praebens construendi sicut "e = std::io::stdout().lock(); questus ansam et crinem in una voce.
  • Nova portio API in categoriis stabilis mota est, additis methodis et notarum exsecutionibus confirmatae sunt:
    • Pin ::static_mut
    • Pin::static_ref
    • Vec :: retain_mut
    • VecDeque ::retain_mut
    • Cursorem scribe<[u8; N]>
    • std ::os ::unix ::net :: SocketAddr :: from_pathname
    • std :: processus :: ExitCode
    • std :: processus :: Terminatio
    • std :: sequela :: JoinHandle :: is_finished
  • attributum "const", quod determinat facultatem utendi in quovis contextu loco constantium, in functionibus adhibetur;
    • <const T> ::offset et <mut T>::offset
    • <const T> :: wrapping_offset et <*mut T>::wraping_offset
    • <const T> :: adde et <mut T>::adde
    • <const T>::sub et <mut T>::sub
    • <const T>::wapping_add et <*mut T>::wapping_add
    • <const T> :: involutio_sub et <*mut T>::wpping_sub
    • <[T]>::as_mut_ptr
    • <[T]>::as_ptr_range
    • <[T]>::as_mut_ptr_range

Praeterea notare potes articulum "Rust: Retrospectivum Criticum" cum summa impressionum linguae Rusticae post 100 milia notarum codicis in eo scribens in evolutione systematis operantis Xous microkernel in firmware adhibitum. Incommoda includunt difficile-ad intellegendum syntaxin, incompletum et continuam linguae progressionem, indigentiam aedificiorum iterabilium, problematum typicam cum fiducia in Crates.io dependentiam, et necessitatem conservandae cuiusdam disciplinae ad scribendum securum codicem. Features quae exspectationes excedunt, instrumenta includunt ad codicem refactorem et "hacks" addita per celeri prototyping.

Source: opennet.ru