Rust 1.37 Famoahana ny fiteny fandaharana

MIVOAKA famotsorana ny fiteny fandaharana amin'ny rafitra Harafesina 1.37, naorin'ny tetikasa Mozilla. Mifantoka amin'ny fiarovana ny fitadidiana ilay fiteny, manome fitantanana fitadidiana mandeha ho azy, ary manome fitaovana hanatrarana ny fitovizan'asa avo lenta nefa tsy mampiasa mpanangom-pako na fotoana fiasana.

Ny fitantanana fahatsiarovana mandeha ho azy an'i Rust dia manafaka ny mpamorona amin'ny fanodinkodinana pointer ary miaro amin'ny olana ateraky ny fanodinkodinana fahatsiarovana ambany, toy ny fidirana tsy misy fitadidiana aorian'ny fahatsiarovan-tena, ny tsy fahampian'ny pointer tsy misy dikany, ny fihoaran'ny buffer, sy ny toy izany. Misy mpitantana fonosana novolavolaina mba hizarana tranomboky, hiantohana ny fivoriambe ary hitantanana ny fiankinan-doha amin'ny tetikasa. entana, ahafahanao mahazo ny tranomboky ilaina amin'ny programa amin'ny tsindry iray. Misy tahiry iray tohanana mba hampiantranoana tranomboky crates.io.

tena fanavaozana:

  • Ao amin'ny compiler rustc antoka fanohanana ho an'ny fanatsarana mifototra amin'ny valin'ny mombamomba ny kaody (PGO, Profile-Guided Optimization),
    mamela anao hamorona kaody tsara indrindra mifototra amin'ny famakafakana ny antontan'isa voaangona nandritra ny fanatanterahana ny programa. Mba hamoronana profil dia omena ny saina "-C profile-generate", ary hampiasa ny mombamomba mandritra ny fivoriambe - "-C profile-use" (amin'ny voalohany, ny programa dia mivory miaraka amin'ny sainam-pirenena voalohany, mihazakazaka, ary aorian'ny famoronana ny mombamomba azy, dia atambatra amin'ny saina faharoa);

  • Rehefa manatanteraka ny baiko "cargo run", izay mety ampiasaina amin'ny fitsapana haingana ny rindranasa console, dia nampiana ny fahafahana misafidy ho azy ny rakitra azo tanterahana raha misy rakitra azo tanterahana ao anaty fonosana. Ny rakitra default hovonoina dia faritana amin'ny alΓ lan'ny torolΓ lana mandeha ho azy ao amin'ny fizarana [fonosana] miaraka amin'ny mari-pamantarana fonosana, izay ahafahanao misoroka mazava ny anaran'ny rakitra amin'ny alΓ lan'ny saina "-bin" isaky ny mihazakazaka "cargo run" ianao;
  • Ny baiko "mpivarotra entana", nomena taloha ho fonosana misaraka. Ny baiko dia ahafahanao mandamina asa miaraka amin'ny dika mitovy amin'ny fiankinan-doha eo an-toerana - aorian'ny fanatanterahana ny "mpivarotra entana", ny kaody loharanon'ny fiankinan'ny tetikasa dia alaina avy amin'ny crates.io mankany amin'ny lahatahiry eo an-toerana, izay azo ampiasaina amin'ny asa tsy miditra amin'ny vata. io (aorian'ny fanatanterahana ny baiko, misy soso-kevitra hanovana ny fikandrana hampiasa ny lahatahiry ho an'ny fananganana). Ity endri-javatra ity dia efa ampiasaina handaminana ny fandefasana ny rustc compiler miaraka amin'ny fonosana ny fiankinan-doha rehetra amin'ny tahiry iray miaraka amin'ny famoahana;
  • Azo atao izao ny mamorona rohy mankany amin'ny safidy enum amin'ny alΓ lan'ny karazana aliases (ohatra, ao amin'ny vatan'ny fiasa "fn increment_or_zero(x: ByteOption) dia azonao atao ny mamaritra ny "ByteOption :: Tsy misy => 0"), karazana fananganana kajy (β€Ή MyTypeβ€Ή.. β€Ίβ€Ί::option => N) na Self accesses (ao amin'ny blocs c &self dia azonao atao ny mamaritra ny β€œSelf::Quarter => 25”);
  • Nampiana ny fahafahana mamorona tsy mitonona anarana amin'ny macros. Raha tokony hamaritana ny anaran'ny singa ao amin'ny "const", dia azonao atao ny mampiasa ny endri-tsoratra "_" mba hisafidianana dynamic identifier tsy miverimberina, hisorohana ny fifandirana anarana rehefa miantso ny macro indray;
  • Nampiana ny fahafahana mampiasa ny toetra "#[repr(align(N))"" miaraka amin'ny enums mampiasa fehezanteny mitovy amin'ny famaritana rafitra AlignNβ€ΉTβ€Ί miaraka amin'ny fampifanarahana ary avy eo mampiasa AlignNβ€ΉMyEnumβ€Ί;
  • Ny ampahany vaovao amin'ny API dia nafindra ho amin'ny sokajy stable, anisan'izany ny BufReader::buffer, BufWriter::buffer, ary
    Cell::avy_mut,
    Cell::ho_slice_of_cells,
    DoubleEndedIterator::nth_back,
    Safidy::xor
    {i,u}{8,16,64,128,habe}::reverse_bits, Wrapping::reverse_bits ary
    slice::copy_within.

Fanampin'izany dia azo marihina izany fanombohana fitsapana ny tetikasa Async-std, izay manolotra variana asynchronous amin'ny tranomboky mahazatra Rust (seranan'ny tranomboky std, izay atolotra amin'ny dikan-teny async ny interface rehetra ary vonona hampiasaina amin'ny syntax async/miandry).

Source: opennet.ru

Add a comment