ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ. ತುಕ್ಕು 1.96.0 — ರಸ್ಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಇತ್ತೀಚಿನ ಸ್ಥಿರ ಆವೃತ್ತಿ. ನವೀಕರಣವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ. 28 ಮೇ 2026 ವರ್ಷಗಳ; ಇದನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ರಸ್ಟಪ್ ಅಪ್ಡೇಟ್ ಸ್ಟೇಬಲ್ ಕಮಾಂಡ್ ಬಳಸಿ ಸ್ಥಾಪಿಸಬಹುದು. ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳಲ್ಲಿ ಕೋರ್::ರೇಂಜ್ನಲ್ಲಿ ಹೊಸ ಶ್ರೇಣಿ ಪ್ರಕಾರಗಳು, ಪ್ಯಾಟರ್ನ್ ಮ್ಯಾಚಿಂಗ್ ಮ್ಯಾಕ್ರೋಗಳ ಸ್ಥಿರೀಕರಣ, ವೆಬ್ಅಸೆಬಲ್ ಬಿಲ್ಡ್ ನಡವಳಿಕೆಯನ್ನು ಬಿಗಿಗೊಳಿಸುವುದು ಮತ್ತು ಕಾರ್ಗೋದಲ್ಲಿನ ಎರಡು ದುರ್ಬಲತೆಗಳಿಗೆ ಪರಿಹಾರಗಳು ಸೇರಿವೆ.
ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು
ಹೊಸ ಶ್ರೇಣಿಯ ಪ್ರಕಾರಗಳು ಕೋರ್::ಶ್ರೇಣಿ::ಶ್ರೇಣಿ*.
ಹೊಸ ಶ್ರೇಣಿಯ ಪ್ರಕಾರಗಳನ್ನು ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯದಲ್ಲಿ ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ: core::range::Range, RangeFrom, RangeInclusive, ಮತ್ತು ಅವುಗಳ ಸಂಬಂಧಿತ ಪುನರಾವರ್ತಕಗಳು. core::ops ನ ಹಳೆಯ ಪ್ರಕಾರಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಹೊಸ ಶ್ರೇಣಿಗಳು ನೇರವಾಗಿ ಇಟರೇಟರ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ, ಆದರೆ IntoIterator ಮೂಲಕ ಇಟರೇಟರ್ ಆಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ. ಇದು ಈ ಶ್ರೇಣಿಗಳನ್ನು ನಕಲಿಸಬಹುದಾದಂತೆ ಅನುಮತಿಸುತ್ತದೆ, ಇದು ಅನುಕೂಲಕರವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ಶ್ರೇಣಿಯನ್ನು ರಚನೆ ಕ್ಷೇತ್ರವಾಗಿ ಸಂಗ್ರಹಿಸುವಾಗ. 0..1 ನಂತಹ ಸಿಂಟ್ಯಾಕ್ಸ್ ಪ್ರಸ್ತುತ ಹಳೆಯ ಶ್ರೇಣಿಯ ಪ್ರಕಾರಗಳನ್ನು ರಚಿಸುತ್ತದೆ, ಆದರೆ ಭಾಷೆಯ ಭವಿಷ್ಯದ ಆವೃತ್ತಿಯಲ್ಲಿ ಹೊಸ ಪ್ರಕಾರಗಳಿಗೆ ಸ್ಥಳಾಂತರಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ.assert_matches! ಮತ್ತು debug_assert_matches! ಸೇರಿಸಲಾಗಿದೆ.
ಹೊಸ ಮ್ಯಾಕ್ರೋಗಳು ನಿರ್ದಿಷ್ಟ ಮಾದರಿಗೆ ಮೌಲ್ಯವು ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದು ಪ್ರತಿಪಾದಿಸಲು ಪರಿಕಲ್ಪನೆಯಲ್ಲಿ ಹೋಲುತ್ತದೆ!(ಹೊಂದಾಣಿಕೆಗಳು!(…)), ಆದರೆ ದೋಷದ ಸಂದರ್ಭದಲ್ಲಿ, ಮೌಲ್ಯದ ಡೀಬಗ್ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ, ಇದು ರೋಗನಿರ್ಣಯವನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. ಜನಪ್ರಿಯ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕ್ರೇಟ್ಗಳೊಂದಿಗೆ ಘರ್ಷಣೆಯನ್ನು ತಪ್ಪಿಸಲು ಈ ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಪ್ರಿಲ್ಯೂಡ್ಗೆ ಸೇರಿಸಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ಕೋರ್ ಅಥವಾ ಎಸ್ಟಿಡಿಯಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬೇಕು.ವೆಬ್ಅಸೆಬಲ್ ಗುರಿಗಳ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ.
ರಸ್ಟ್ ಇನ್ನು ಮುಂದೆ WebAssembly ಬಿಲ್ಡ್ಗಳಿಗಾಗಿ ಲಿಂಕರ್ಗೆ --allow-undefined ಅನ್ನು ರವಾನಿಸುವುದಿಲ್ಲ. "env" ಮಾಡ್ಯೂಲ್ನಿಂದ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಮದುಗಳಾಗಿ ಪರಿವರ್ತಿಸುವ ಬದಲು, ಲಿಂಕ್ ಮಾಡುವಾಗ ವ್ಯಾಖ್ಯಾನಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ಈಗ ದೋಷಗಳಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಇದು ಬಿಲ್ಡ್ ದೋಷಗಳು ಮತ್ತು ಅಮಾನ್ಯ ಚಿಹ್ನೆ ಹೆಸರುಗಳನ್ನು ಮೊದಲೇ ಪತ್ತೆಹಚ್ಚಬೇಕು. ಅಗತ್ಯವಿದ್ದರೆ, RUSTFLAGS=-Clink-arg=--allow-undefined ಬಳಸಿ ಅಥವಾ #[link(wasm_import_module = "env")] ಬಳಸಿ ಆಮದು ಮಾಡಿದ wasm ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ಹಳೆಯ ನಡವಳಿಕೆಯನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು.ಕಾರ್ಗೋ ಭದ್ರತಾ ಪರಿಹಾರಗಳನ್ನು ಪಡೆದುಕೊಂಡಿದೆ.
ಭಾಷೆಯಲ್ಲಿ ಬದಲಾವಣೆಗಳು.
ಬಿಡುಗಡೆಯು ಒಳಗೊಂಡಿದೆ: ಹಲವಾರು ಸಣ್ಣ ಪರಿಹಾರಗಳು ಮತ್ತು ವರ್ಧನೆಗಳು: ಮ್ಯಾಕ್ರೋಗಳ ಎಕ್ಸ್ಪ್ರ ಮೆಟಾವೇರಿಯಬಲ್ಗಳನ್ನು cfg ಗೆ ರವಾನಿಸಲು ಅನುಮತಿಸಲಾಗಿದೆ, ಟುಪಲ್ ಎಕ್ಸ್ಪ್ರೆಶನ್ಗಳಲ್ಲಿ ಎಂದಿಗೂ ಟೈಪ್ ಮಾಡದ ಕಾಸ್ಟಿಂಗ್ ಅನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ, ಫಂಕ್ಷನ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳಿಗೆ ತಪ್ಪಾದ ಟೈಪ್ ಇನ್ಫರೆನ್ಸ್ ಸುಳಿವುಗಳ ಅಪರೂಪದ ಪ್ರಕರಣಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ, ಇನ್ಲೈನ್ ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ s390x ವೆಕ್ಟರ್ ರಿಜಿಸ್ಟರ್ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಟೆಂಪ್ಲೇಟ್ಗಳಾಗಿ ಮ್ಯಾನುಯಲ್ಡ್ರಾಪ್ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಮರು-ಅನುಮತಿಸಲಾಗಿದೆ - ಇದು ರಸ್ಟ್ 1.94.0 ರಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ಹಿಂಜರಿತವನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ.ಕಂಪೈಲರ್ ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳು.
ಗೆ LinuxLoongArch ಗುರಿಗಳಿಗೆ ಲಿಂಕ್ ವಿಶ್ರಾಂತಿ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ—ಕೋಡ್ ನಿಯೋಜನೆಯ ನಂತರ ಕೆಲವು ಪರಿವರ್ತನೆಗಳು ಮತ್ತು ಕರೆಗಳನ್ನು ಸರಳಗೊಳಿಸುವ ಲಿಂಕ್ ಮಾಡುವ ಆಪ್ಟಿಮೈಸೇಶನ್. riscv64gc-unknown-fuchsia ಗಾಗಿ, ವೆಕ್ಟರ್ ವಿಸ್ತರಣೆಗಳಿಗೆ ಬೆಂಬಲದೊಂದಿಗೆ ಮೂಲ ಸಂರಚನೆಯನ್ನು RVA22 ಪ್ರೊಫೈಲ್ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ.ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯ ನವೀಕರಣಗಳು.
ಶೂನ್ಯೇತರ ಪೂರ್ಣಾಂಕ ಶ್ರೇಣಿಗಳ ಮೇಲೆ ಪುನರಾವರ್ತನೆ ಮಾಡುವುದಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ToSocketAddr ಮೂಲಕ SGX ನಲ್ಲಿ ಹೋಸ್ಟ್ ವಿಳಾಸಗಳ ಸೋಮಾರಿ ನಿರ್ವಹಣೆಯನ್ನು ಸಹ ಸರಿಪಡಿಸಲಾಗಿದೆ, ಮತ್ತು "ಓದಬಲ್ಲ/ಬರೆಯಬಹುದಾದ" ಮೆಮೊರಿಯ ವ್ಯಾಖ್ಯಾನವನ್ನು ದಸ್ತಾವೇಜನ್ನು ಮತ್ತು ಆಂತರಿಕ ಒಪ್ಪಂದಗಳಲ್ಲಿ ಸ್ಪಷ್ಟಪಡಿಸಲಾಗಿದೆ: ಸಾಮಾನ್ಯ ವ್ಯಾಖ್ಯಾನದಿಂದ ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಮತ್ತು ವಿನಾಯಿತಿಗಳನ್ನು ಈಗ ನಿರ್ದಿಷ್ಟ ವಿಧಾನಗಳಿಗೆ ಪ್ರತ್ಯೇಕವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ.ಸ್ಥಿರಗೊಳಿಸಿದ API ಗಳು.
ಸ್ಥಿರಗೊಳಿಸಿದ ಇಂಟರ್ಫೇಸ್ಗಳಲ್ಲಿ assert_matches!, debug_assert_matches!, From ನ ಅನುಷ್ಠಾನಗಳು ಸೇರಿವೆ. AssertUnwindSafe ಗಾಗಿ , ಲೇಜಿಸೆಲ್ ಮತ್ತು ಲೇಜಿಲಾಕ್ , ಹಾಗೆಯೇ ಕೋರ್::ರೇಂಜ್ ನಿಂದ ಹೊಸ ಶ್ರೇಣಿ ಪ್ರಕಾರಗಳು ಮತ್ತು ಪುನರಾವರ್ತಕಗಳು, ಇದರಲ್ಲಿ Range, RangeFrom, RangeToInclusive ಮತ್ತು ಅವುಗಳ ಪುನರಾವರ್ತಕಗಳು ಸೇರಿವೆ.ಸರಕು: ಅವಲಂಬನೆಗಳು ಮತ್ತು ದಸ್ತಾವೇಜನ್ನುಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳು.
ಒಂದು ಅವಲಂಬನೆಯು ಈಗ Git ರೆಪೊಸಿಟರಿ ಮತ್ತು ಪರ್ಯಾಯ ನೋಂದಾವಣೆ ಎರಡನ್ನೂ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು: Git ಆವೃತ್ತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಪ್ರಕಟಣೆಯ ಸಮಯದಲ್ಲಿ ನೋಂದಾವಣೆ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, crates.io ನೊಂದಿಗೆ ವರ್ತನೆಯನ್ನು ಹೋಲುತ್ತದೆ. ಕಾರ್ಗೋ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ target.'cfg(..)'.rustdocflags ಗೆ ಬೆಂಬಲವನ್ನು ಸಹ ಸೇರಿಸಲಾಗಿದೆ.ರಸ್ಟ್ಡಾಕ್ ಈಗ ದಸ್ತಾವೇಜನ್ನು ಹೆಚ್ಚು ನಿಖರವಾಗಿ ನಿರ್ವಹಿಸುತ್ತದೆ.
ಬಳಕೆಯಲ್ಲಿಲ್ಲದ API ಟಿಪ್ಪಣಿಗಳನ್ನು ಈಗ ವೈಟ್-ಸ್ಪೇಸ್: ಪ್ರಿ-ವ್ರ್ಯಾಪ್ ಮೂಲಕ ಹಿಂದಿನ ವಿಶೇಷ ಸಂಸ್ಕರಣೆಯಿಲ್ಲದೆ ನಿಯಮಿತ ದಸ್ತಾವೇಜನ್ನು ಎಂದು ರೆಂಡರ್ ಮಾಡಲಾಗುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, rustdoc ಇನ್ನು ಮುಂದೆ impl ಒಳಗಿನ ಅಂಶಗಳಿಗಾಗಿ missing_doc_code_examples ಅನ್ನು ಲಿಂಟ್ ಮಾಡುವುದಿಲ್ಲ ಮತ್ತು ವಿಧಾನಗಳು ಮತ್ತು ಸಂಬಂಧಿತ ಕಾರ್ಯಗಳನ್ನು ಈಗ ದಸ್ತಾವೇಜನ್ನು ಸೈಡ್ಬಾರ್ನಲ್ಲಿ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ.ಸಂಭಾವ್ಯ ಅಸಾಮರಸ್ಯಗಳು.
ಬಿಡುಗಡೆಯು ಪ್ರಮಾಣಿತವಲ್ಲದ ಕೋಡ್ನಲ್ಲಿ ತೋರಿಸಬಹುದಾದ ಹಲವಾರು ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ಕೆಲವು #[repr(Int)] enum ಗಳ ವಿನ್ಯಾಸವನ್ನು ವಿಪರೀತ ಸಂದರ್ಭಗಳಲ್ಲಿ ಸರಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಪಿನ್ನಲ್ಲಿ ಕೆಲವು ನಿಷ್ಪ್ರಯೋಜಕ ಗಾತ್ರ ಬದಲಾಯಿಸುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. , WebAssembly ಬಿಲ್ಡ್ಗಳು ಈಗ ವ್ಯಾಖ್ಯಾನಿಸದ ಚಿಹ್ನೆಗಳ ಮೇಲೆ ಕ್ರ್ಯಾಶ್ ಆಗುತ್ತವೆ, ಆಕಸ್ಮಿಕವಾಗಿ ಸ್ಥಿರಗೊಳಿಸಲಾದ #![reexport_test_harness_main] ಗುಣಲಕ್ಷಣವನ್ನು ಮತ್ತೆ ವೈಶಿಷ್ಟ್ಯದ ಗೇಟ್ ಮಾಡಲಾಗಿದೆ, -Csoft-float ಆಯ್ಕೆಯನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಮತ್ತು ಕನಿಷ್ಠ ಬಾಹ್ಯ LLVM ಆವೃತ್ತಿಯನ್ನು 21 ಕ್ಕೆ ಹೆಚ್ಚಿಸಲಾಗಿದೆ. AVR ಗಾಗಿ, c_double ಪ್ರಕಾರವನ್ನು f32 ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ, ಏಕೆಂದರೆ ಈ ಗುರಿಗಳಲ್ಲಿ C ಡಬಲ್ಸ್ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ 32-ಬಿಟ್ ಆಗಿರುತ್ತವೆ.
ಮೂಲ: linux.org.ru
