Rubigo 1.40 Programming Language Release

editis systema programming language release I rubigocondita a Mozilla project. Lingua in administratione memoriae tutae versatur, administrationem automaticam memoriam praebet et instrumenta praebet ut parallelismum magnum officium consequantur, evitato usu quisquiliarum collectori atque currere tempus.

Rubigo automatariam memoriam administrationis elit a monstrante manipulatione liberat et contra problemata ex humili gradu memoriae manipulationis orta protegit, ut post accessiones liberae memoriae, regulae nullae dereferences, quiddam eliminatum, et similia. Procurator involucrum augetur ad bibliothecas distribuendas, conventum curet ac clientelas a proposito administrat. cargo, quod permittit ut bibliothecas adipiscaris quae programma in unum cliccum debes. Repositorium sustentatur ad exercitum libraries crates.io.

Main innovations:

  • Facultatem adiecit notandi structuras (struct) et enumerationes (enum cum scandalo Variante) attributum utendi "#[non_exhaustive] "quod" Non concedit in posterum novas agros et optiones ad structuras et enumerationes declaratas adde. Exempli gratia, tincidunt modulorum qui structuras habent cum agris publice declaratis uti possunt "#[non_exhaustivi]" ad structuras notare quae novos agros in futuro adiunctos habent. Usque nunc, in hoc situ, elit eligere coactus est inter agros occulte declarandos et ad incommutabilem agrorum indicem obligans. Novus attributus hanc limitationem tollit et sinit ut novos agros in futuro adiungas sine periculo fractionis ante codicem externum exaratum. In fasciculis craticulis, cum optiones adaptare in sectione "par", requiritur explicita definitio larvae "_ => {...}", agros futuros possibilis obtegere, alioquin error ostendetur cum novas agros addens.
  • adiecit facultas vocandi Macinariam processualem!() in contextu typo. Exempli gratia, nunc scribere potes "type Foo = expand_to_type!(bar);" si "expand_to_type" tortor processualis est.
  • In "externis {...}" caudices additae facultas utendi processualis et macros attributis, inter "bang!()" macros, exempli gratia:

    macro_rules! make_item { ($name:ident) => {fn $name(); } }

    externus {
    make_item!(alpha);
    make_item!(beta);
    }

    externum "C" {
    #[my_identity_macro]fn foo();
    }

  • In macros implemented elementa generandi "macro_rulea" elementa. Generare "macro_regulas!" fieri potest tam in functionibus sicut macros ("mac!()") et in macros in specie attributorum ("#[mac]").
  • In $m: meta mapping elementum additae subsidium pro arbitrario signo valorum enumerationum ("[TOKEN_STREAM]", "TOKEN_STREAM}" et "(TOKEN_STREAM)"), exempli gratia:

    macro_rules! accept_meta { ($m:meta) => {} }
    accept_meta!(my::iter);
    accept_meta!( my::path = "lit" );
    accept_meta!( my::path ( abc ) );
    accept_meta!( my::path [ abc ] );
    accept_meta!( my::path { abc } );

  • In Rust 2015 modo, error output potens est pro quaestionibus identificatis, cum mutuas variabiles (mutuum tessellatis) utens artificio NLL (Non-Lexical Vitae). Antea, admonitiones errores substituti sunt cum modo in Rust 2018 currendo.
    Postquam mutatio ad Rust MMXV prorogata est modus, tincidunt tandem poterant effugium ab antiquo mutuari tessellatum.

    Recordemur confirmationem systematis in nova mechanismo fundatam ratione habita vitae variabilium mutuatarum, posse cognoscere aliquas difficultates, quae vetus verificationis latebant. Cum error output pro talibus impedimentis congruentiam cum codice ante operante afficere posset, monita pro erroribus initio edita sunt.

  • Attributum "const", quod facultatem utendi in quovis contextu pro constantibus determinat, pro functione duarum _power_of_rum adhibetur (pro integris unsignibus).
  • Nova portio API categoriae stabilis mota est, incluso todo!() tortor et scalpere:: repetere, mem::accipe, BTreeMap::get_key_value, HashMap::get_key_value, modi confirmatae sunt.
    Option::as_deref, Option::as_deref_mut, Option::flatten, UdpSocket::peer_addr, {f32,f64}::to_be_bytes, {f32,f64}::to_le_bytes,{f32,f64}::to_ne_bytes, {f32, f64} :: from_bytes, {f32,f64} :: from_le_bytes, et {f32,f64} :: from_ne_bytes.

  • In sarcina procurator navis
    implemented caching compiler admonitiones in disco. Addidit optionem "metadata oneraria" ad "metadata oneraria" mandatum--filter-platform" ostendere fasciculos tantum ligatos ad tribunal clypeum determinatum in columna solutionis dependentiae. Optionis configurationis additae http.ssl-versio ad valida TLS versiones definiendas.
    Facultatem ad sectionem edendi addidit "dev-declinationes"sine ratione "versio" clavis.

  • In rustc compilator tertium gradum subsidii praebet pro suggestis scoporum thumbv7neon ignoto-linux-musleabihf, aarch64 ignoto-none-softfloat, mips64 ignoto-linux muslabi64 et mips64el ignoto-linux muslabi64. Tertius gradus fundamentalis subsidii implicat, sed sine automated probatione et publicatione operum officialium.

Source: opennet.ru