Rubigo 1.38 Programming Language Release

editis systema programming language release I rubigofundatum a Mozilla project. Lingua ad salutem memoriae intendit, administrationem automaticam memoriam praebet et modum praebet ut parallelismum excelsum consequi possit sine quisquiliarum collectore vel runtime utendo.

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:

  • Modus compilation pipelinelata adiecit (pipelined), quo fabricatio sarcinae craticulae dependentis incipit statim ac dependentia metadata in promptu fit, non expectata eius compilationem ad perficiendum. Cum involucrum componendo, clientelae plene congregari non debent, metadata definiendo, in quo sunt indices typorum, clientium et elementorum exportatorum. Metadata mane in processu compilationi praesto est, itaque fasciculi conexi nunc multo ante componi possunt. Cum singulas sarcinas construit, modus propositi non perficiendi modum afficit, sed si fasciculos fasciculos cum dependentibus ramosis construunt, altiore aedificationis tempus per 10-20% minui potest;
  • Ensures deprehendatur falsa uti munera std :: mem :: uninitialized ΠΈ std :: mem :: zeroed. Exempli gratia, std::mem:: uninitialis expeditus est ad cito creando vestes, sed seducit compilator quia initialized apparet, sed re vera valor imperfectus manet. The mem:: munus uninitialized iam notatum est ut deprecatur et commendatur uti loco intermedio MaybeUnit. Quod ad mem:: nulla est, hoc munus difficultates facere cum rationibus potest quae nullas valores accipere non possunt.

    Ad mores indefinitos cognoscendos, nova emissio linteolum reprimendum addit compilator, qui aliquas difficultates cum mem:: invenustas vel mem:: nullas detegit. Exempli gratia, nunc errorem obtines, cum mem:: uninitalizatum vel mem:: nullarum generum &T et Boxβ€ΉTβ€Ί adhibes, quae monstra monstra sunt quae nullas valores accipere non possunt;

  • Proprium "#[deprecatus]" dilatum est ut sarcinas cisternas obsoletas notari et in futuram deletionem accedant. As of Rust 1.38, haec passio etiam pro macros adhiberi potest;
  • Addidit facultatem attributi "#[global_allocatoris]" in submodulibus;
  • Pluma added std :: any :: type_namequae sinit invenire nomen generis, quod potest esse utile ad debugging usus. Exempli gratia, in programmatis executione invenire potes ad cuius generis munus vocatum est;

    fn gen_valueβ€ΉT: Default>() -β€Ί T {
    println!("Initializing instantiam {}", std::any::type_name::β€ΉTβ€Ί());
    Default :: default ()
    }

    fnmain() {
    sit _: i32 = gen_value(); # "i32" imprimetur
    sit _: String = gen_value(); # Imprimet "Alloc:: filum:: String"
    }

  • Munera extensa bibliothecae vexillum:
    • scalpere:: {concat, coniungere, copulare} nunc valorem &[T] praeter &T accipere potest;
    • "*const T" et "*mut T" nunc efficiendum titulum:: Unpin;
    • "Arcβ€Ή[T]β€Ί" et "Rcβ€Ή[T]β€Ί" nunc efficiendum FromIteratorβ€ΉTβ€Ί;
    • iter::{StepBy, Peekable, Cape} nunc efficiendum DoubleEndedIterator.
    • ascii::EscapeDefault arma Clone et Propono.
  • Nova portio APIs ad categoriam stabilem translata est, additis methodis confirmatae
    • *const Tβ€Ί::cast, *mut Tβ€Ί::cast,
    • Duratio::as_secs_f{32|64}
    • Duratio:: div_duration_f{32|64}
    • Duratio:: div_f{32|64}
    • Duratio:: from_secs_f{32|64}
    • Duratio::mul_f{32|64}
    • residuam partem
      div_euclid et rem_euclid pro omnibus integris primitivis;

  • Addidit subsidium ad specificationem "-featurarum" optionis plurium temporum ut varias lineas in sarcina oneris ministret;
  • Compilator praebet tertiam planum fenestra-msvc, i64-uwp-fenestra-msvc, i686-uwp-fenest-msvc, x686_86-uwp-fenestra-gnu, x64_86 -gnueabi, armv64 ignotus linux musleabi, ignotus linux-musl et riscv7i ignotus nullus elf. Tertius gradus fundamentalis subsidii implicat, sed sine probatione et publicatione officialium aedificationum automated.

Source: opennet.ru