Rust 1.45 Fa'apolokalame Gagana Fa'asa'oloto

lomia faasalalau fa'amalolo 1.45 o le gagana polokalame polokalame ele, na faavaeina e le poloketi Mozilla. O le gagana e taulaʻi i le saogalemu o manatuaga, e maua ai le faʻaogaina o mea e manatua ai, ma tuʻuina atu meafaigaluega mo le ausiaina maualuga o galuega tutusa e aunoa ma le faʻaogaina o le lapisi ma taʻaloga.

Ole pulega otometi ole manatua ole Rust e fa'ate'aina mea sese pe a fa'aogaina fa'ailoga ma puipuia mai fa'afitauli e tula'i mai i le fa'aogaina o mafaufauga maualalo, e pei o le ulufale atu i se vaega manatua pe a uma ona fa'asa'olotoina, fa'aletonu le fa'asinomaga, fa'alavelave fa'aletonu, ma isi. O lo'o fa'atupuina se pule o pusa e tufatufaina atu faletusi, fa'amautinoa le fa'apotopotoina ma pulea fa'alagolago e le poloketi. uta, e mafai ai ona e mauaina faletusi e manaʻomia mo le polokalame i le kiliki e tasi. E lagolagoina se fale teu oloa e talimalo ai faletusi crates.io.

tele mea fou:

  • Ave'esea ua leva sese pe a faia suiga i le va o numera numera ma numera faʻafefe. Talu ai ona faʻaaogaina e le Rust compiler le LLVM o se pito i tua, o faʻasologa o suiga na faia e ala i le LLVM faʻasalalauga faʻasalalauga faʻasalalauga e pei ole ftoui, o lo'o i ai se vaega taua e tasi - amio e le'i fa'amalamalamaina pe a le fetaui le tau e maua i le ituaiga fa'atatau. Mo se fa'ata'ita'iga, pe a fa'aliliu le tau fa'a'a'amea 300 ma le ituaiga f32 i le integer type u8, o le i'uga e le taumateina ma e ono fesuisuia'i i faiga eseese. O le faʻafitauli o lenei faʻaaliga e aliali mai i le code e le o faʻailogaina o le "le saogalemu".

    E tusa ai ma le Rust 1.45, o le amio o le tele o le tele o le tele o loʻo faʻatonutonuina, ma o le "as" faʻaliliuga faʻagaioiga e siaki ai le lolovaia ma faʻamalosia le tau e liua i le maualuga poʻo le tau maualalo o le ituaiga faʻatatau (mo le faʻataʻitaʻiga o loʻo i luga, se tau o le 300 o le a liua i le 255). Ina ia fa'amalo ia siakiga, ua tu'uina atu vala'au API fa'aopoopo “{f64, f32}::to_int_unchecked”, fa'agaioi i le tulaga le saogalemu.

    fn lafo(x: f32) -> u8 {
    x pei o u8
    }

    fn autu() {
    tu'u tele_tele = 300.0;
    tu'u foi_laiti = -100.0;
    tuu nan = f32::NAN;

    tu'u x: f32 = 1.0;
    tu'u y: u8 = le saogalemu { x.to_int_unchecked()};

    println!("too_big_casted = {}", cast(too_big)); // galuega faatino 255
    println!("too_small_casted = {}", cast(small_small)); // galuega faatino 0
    println!("leai_se_numera_casted = {}", lafo(nan)); // galuega faatino 0
    }

  • Fa'aoga fa'amautu fa'atonuga macrosfa'aaliga fa'atusa, fa'ata'ita'iga, ma fa'amatalaga. I le taimi muamua, o ia macros e le mafai ona valaʻau i soʻo se mea, ae naʻo i nisi vaega o le code (e pei o se valaʻau ese, e le o fesoʻotaʻi ma isi code). O le faʻalauteleina o le auala e mafai ai ona valaʻau macros, e tutusa ma galuega, o se tasi lea o manaʻoga e faʻaogaina ai le faʻatulagaga o le upega tafaʻilagi. roketa i faʻamaumauga mautu o Rust. I le taimi muamua, o le ausiaina o le fetuutuunai faaopoopo i le faʻamalamalamaina o tagata e faʻaaogaina i Rocket e manaʻomia ai le faʻatagaina o se faʻataʻitaʻiga e taʻua o le "proc_macro_hygiene", lea e le o maua i faʻamaumauga mautu o Rust. O lenei fa'atinoga ua fausia nei i fa'asalalauga mautu o le gagana.
  • Fa'ataga e fa'aoga laina fa'aigoa "char" e fa'ata'ita'i i luga o fa'atatau (ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo}):

    mo ch i le 'a'..='z' {
    lolomi!("{}", ch);
    }
    println!(); // O le a lolomi "abcdefghijklmnopqrstuvwxyz"

  • O se vaega fou o API ua tuʻuina atu i le vaega mautu, e aofia ai le faʻamautuina
    Arc::as_ptr,
    BtreeMap::aveese_entry,
    Rc::as_ptr,
    rc::Vaivai::as_ptr,
    rc::Vaivai::from_raw,
    rc:: Vaivai::i_raw,
    str::strip_prefix,
    str::strip_suffix,
    sync:: Vaivai::as_ptr,
    sync::Vaivai::from_raw,
    sync:: Vaivai::into_raw,
    char::UNICODE_VERSION,
    Span::resolved_at,
    Span::located_at,
    Span::fefiloi_site,
    unix::process::CommandExt::arg0.
  • O le rustc compiler ua fa'aopoopoina le lagolago mo le fa'aogaina o fa'ailoga fa'atatau i luga ole laiga e fa'aaoga ai le fu'a "target-feature", mo se fa'ata'ita'iga, "-C target-feature=+avx2+fma". Ua faaopoopo foi fu'a fou:
    "force-unwind-tables" e fa'atupu ai laulau fa'atalatala, e tusa lava po'o le a le ta'iala tau le fa'alavelave; "embed-bitcode" e pulea ai pe o le LLVM bitcode o loʻo aofia i rlibs gaosia. O le fu'a "embed-bitcode" e mafai ona fa'aletonu ile Cargo e fa'amalieina ai le taimi fau ma le fa'aogaina o avanoa tisiki.
  • O le vaega lona tolu o le lagolago ua saunia mo le mipsel-sony-psp ma thumbv7a-uwp-windows-msvc platforms. O le vaega lona tolu e aofia ai le lagolago faʻavae, ae aunoa ma le faʻataʻitaʻiina otometi ma faʻasalalauga o fale faʻapitoa.

E le gata i lea, e mafai ona matauina le tala e uiga i le fatuina o mea sili ona faigofie apps i le gagana Rust, amata faʻaaogaina le bootloader system ma sauni e faʻapipiʻiina e le tagata lava ia nai lo le faiga faʻaogaina.
O le tusiga o le muamua lea i se faasologa faʻapitoa e faʻaalia ai metotia o loʻo manaʻomia i polokalame maualalo ma le atinaʻeina o OS.

puna: opennet.ru

Faʻatau talimalo faʻatuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers 🔥 Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster