ãªãªãŒã¹ãå ¬éãããŸãã é1.96.0 âRustããã°ã©ãã³ã°èšèªã®ææ°å®å®çãã¢ããããŒãããªãªãŒã¹ãããŸããã 28æ2026幎; æšæºã® rustup update stable ã³ãã³ãã䜿çšããŠã€ã³ã¹ããŒã«ã§ããŸããäž»ãªå€æŽç¹ãšããŠã¯ãcore::range ã«æ°ããç¯å²åã远å ãããããšããã¿ãŒã³ãããã³ã°ãã¯ãã®å®å®åãWebAssembly ãã«ãåäœã®åŒ·åãããã³ Cargo ã® 2 ã€ã®è匱æ§ã«å¯Ÿããä¿®æ£ãªã©ãæããããŸãã
äž»ãªå€æŽç¹
æ°ããç¯å²ã¿ã€ã core::range::Range*ã
æšæºã©ã€ãã©ãªã«æ°ããç¯å²åïŒcore::range::RangeãRangeFromãRangeInclusiveïŒãšããããã«é¢é£ä»ããããã€ãã¬ãŒã¿ãå®å®åãããŸãããcore::ops ã®å€ãåãšã¯ç°ãªããæ°ããç¯å²ã¯ Iterator ãçŽæ¥å®è£ ããã®ã§ã¯ãªããIntoIterator ãä»ããŠã€ãã¬ãŒã¿ã«å€æãããŸããããã«ããããããã®ç¯å²ã¯ã³ããŒå¯èœã«ãªããããšãã°ç¯å²ãæ§é äœã®ãã£ãŒã«ããšããŠæ ŒçŽããå Žåã«äŸ¿å©ã§ãã0..1 ã®ãããªæ§æã¯çŸåšå€ãç¯å²åãäœæããŸãããå°æ¥ã®ããŒãžã§ã³ã§æ°ããåã«ç§»è¡ããäºå®ã§ããassert_matches! ãš debug_assert_matches! ã远å ããŸããã
æ°ãããã¯ãã䜿çšãããšãå€ãæå®ããããã¿ãŒã³ã«äžèŽãããã©ããã確èªã§ããŸããããã¯ãassert!(matches!(âŠ)) ãšæŠå¿µçã«ã¯äŒŒãŠããŸããããšã©ãŒãçºçããå Žåã¯ãå€ã®ãããã°è¡šçŸãåºåããã蚺æã容æã«ãªããŸãããããã®ãã¯ãã¯ãäžè¬çãªãµãŒãããŒãã£è£œã¯ã¬ãŒããšã®ç«¶åãé¿ãããããPrelude ã«ã¯è¿œå ãããŠããŸããããã®ãããcore ãŸã㯠std ããæç€ºçã«ã€ã³ããŒãããå¿ èŠããããŸããWebAssemblyã¿ãŒã²ããã®åäœã倿ŽããŸããã
Rust 㯠WebAssembly ãã«ãæã«ãªã³ã«ãŒã« --allow-undefined ãªãã·ã§ã³ãæž¡ããªããªããŸãããæªå®çŸ©ã·ã³ãã«ã¯ãèªåçã« "env" ã¢ãžã¥ãŒã«ããã®ã€ã³ããŒãã«å€æãããã®ã§ã¯ãªãããªã³ã¯æã«ãšã©ãŒãšããŠæ±ãããããã«ãªããŸãããããã«ããããã«ããšã©ãŒãç¡å¹ãªã·ã³ãã«åãããæ©æã«æ€åºã§ããŸããå¿ èŠã«å¿ããŠãRUSTFLAGS=-Clink-arg=--allow-undefined ã䜿çšãããã#[link(wasm_import_module = "env")] ã䜿çšããŠã€ã³ããŒãããã wasm ã¢ãžã¥ãŒã«ãæç€ºçã«æå®ããããšã§ã以åã®åäœã«æ»ãããšãã§ããŸãã貚ç©èŒžéãµãŒãã¹ã«ã»ãã¥ãªãã£ä¿®æ£ãé©çšãããŸããã
èšèªã®å€åã
ä»åã®ãªãªãŒã¹å 容ã¯ä»¥äžã®éãã§ãã ããã€ãã®ãã€ããŒãªä¿®æ£ãšæ©èœåŒ·å: ãã¯ãã® expr ã¡ã¿å€æ°ã cfg ã«æž¡ããããã«ããã¿ãã«åŒã§ã® never-type ãã£ã¹ããä¿®æ£ãã颿°åŒæ°ã®åæšè«ãã³ãã誀ã£ãŠãããŸããªã±ãŒã¹ãä¿®æ£ããã€ã³ã©ã€ã³ã¢ã»ã³ããªã§ s390x ãã¯ãã«ã¬ãžã¹ã¿ã®ãµããŒãã远å ããManuallyDrop 宿°ããã³ãã¬ãŒããšããŠåã³èš±å¯ããŸããããã㯠Rust 1.94.0 ã§çºçãããªã°ã¬ãã·ã§ã³ãä¿®æ£ããŸããã³ã³ãã€ã©ãšãã©ãããã©ãŒã ã®å€æŽã
ã®ããã« LinuxLoongArchã¿ãŒã²ããåãã«ãªã³ã¯ç·©åãµããŒããæå¹ã«ãªããŸãããããã¯ãã³ãŒãå±éåŸã®äžéšã®é·ç§»ãšåŒã³åºããç°¡çŽ åãããªã³ã¯æé©åæ©èœã§ããriscv64gc-unknown-fuchsiaã«ã€ããŠã¯ãåºæ¬æ§æããã¯ãã«æ¡åŒµããµããŒãããRVA22ãããã¡ã€ã«ã«æŽæ°ãããŸãããæšæºã©ã€ãã©ãªã®ã¢ããããŒãã
ãŒã以å€ã®æŽæ°ç¯å²ãå埩åŠçããæ©èœã远å ãããŸããããŸããToSocketAddr ãä»ãã SGX ã«ããããã¹ã ã¢ãã¬ã¹ã®é å»¶åŠçãä¿®æ£ãããããã¥ã¡ã³ããšå éšå¥çŽã«ãããŠãèªã¿åãå¯èœ/æžã蟌ã¿å¯èœãã¡ã¢ãªã®å®çŸ©ãæç¢ºåãããŸãããå ·äœçã«ã¯ãäžè¬çãªå®çŸ©ãããã« ãã€ã³ã¿ãåé€ãããç¹å®ã®ã¡ãœããã«å¯ŸããŠäŸå€ãåå¥ã«æå®ãããããã«ãªããŸãããå®å®åãããAPIã
å®å®åãããã€ã³ã¿ãŒãã§ãŒã¹ã«ã¯ãassert_matches!ãdebug_assert_matches!ãFrom ã®å®è£ ãå«ãŸããŸãã AssertUnwindSafe çšãLazyCellãããŠã¬ã€ãžãŒããã¯ãŸããcore::range ããæ°ããç¯å²åãšã€ãã¬ãŒã¿ã远å ãããŸãããããã«ã¯ãRangeãRangeFromãRangeToInclusive ããã³ãããã®ã€ãã¬ãŒã¿ãå«ãŸããŸããCargo: äŸåé¢ä¿ãšããã¥ã¡ã³ãã®å€æŽã
äŸåé¢ä¿ã§ãGitãªããžããªãšä»£æ¿ã¬ãžã¹ããªã®äž¡æ¹ãæå®ã§ããããã«ãªããŸãããGitããŒãžã§ã³ã¯ããŒã«ã«ã§äœ¿çšãããã¬ãžã¹ããªããŒãžã§ã³ã¯å ¬éæã«äœ¿çšãããŸããããã¯crates.ioã®åäœãšåæ§ã§ããCargoèšå®ã®target.'cfg(..)'.rustdocflagsã®ãµããŒãã远å ãããŸãããRustdocã¯ãããã¥ã¡ã³ãã®åŠç粟床ãåäžãããŸããã
éæšå¥šã®APIã«é¢ããæ³šèšã¯ã以åã®ããã«white-space: pre-wrapã«ããç¹å¥ãªåŠçãè¡ãããéåžžã®ããã¥ã¡ã³ããšããŠè¡šç€ºãããããã«ãªããŸããããŸããrustdocã¯implå ã®èŠçŽ ã«å¯ŸããŠmissing_doc_code_examplesããªã³ãã£ã³ã°ããªããªããã¡ãœãããšé¢é£é¢æ°ãããã¥ã¡ã³ãã®ãµã€ãããŒã§åé¢ããŠè¡šç€ºãããããã«ãªããŸãããäºææ§ã®åé¡ãçºçããå¯èœæ§ããããŸãã
ä»åã®ãªãªãŒã¹ã«ã¯ãéæšæºã³ãŒãã«çŸããå¯èœæ§ã®ããããã€ãã®å€æŽãå«ãŸããŠããŸããäžéšã® #[repr(Int)] åæåã®ã¬ã€ã¢ãŠããæ¥µç«¯ãªã±ãŒã¹ã§ä¿®æ£ãããPin å ã®äžèŠãª unsize ãã£ã¹ããããã€ãç¡å¹åãããŸããã WebAssembly ãã«ãã§æªå®çŸ©ã·ã³ãã«ãã¯ã©ãã·ã¥ããããã«ãªãã誀ã£ãŠå®å®åããã #![reexport_test_harness_main] 屿§ãåã³æ©èœå¶éããã-Csoft-float ãªãã·ã§ã³ãåé€ãããæå°å€éš LLVM ããŒãžã§ã³ã 21 ã«åŒãäžããããŸãããAVR ã®å ŽåãC å粟床浮åå°æ°ç¹æ°ã¯ããã©ã«ãã§ 32 ãããã§ãããããc_double åã f32 ã«å€æŽãããŸããã
åºæïŒ linux.org.ru
