ರಸ್ಟ್ 1.46 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ

ಪ್ರಕಟಿಸಲಾಗಿದೆ ಸಿಸ್ಟಮ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ 1.46 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿ ತುಕ್ಕು, ಮೊಜಿಲ್ಲಾ ಯೋಜನೆಯಿಂದ ಸ್ಥಾಪಿಸಲಾಗಿದೆ. ಭಾಷೆ ಮೆಮೊರಿ ಸುರಕ್ಷತೆಯ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ, ಸ್ವಯಂಚಾಲಿತ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಕಸ ಸಂಗ್ರಾಹಕವನ್ನು ಬಳಸದೆಯೇ ಹೆಚ್ಚಿನ ಕಾರ್ಯ ಸಮಾನಾಂತರತೆಯನ್ನು ಸಾಧಿಸಲು ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ರನ್ಟೈಮ್.

ರಸ್ಟ್‌ನ ಸ್ವಯಂಚಾಲಿತ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯು ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ದೋಷಗಳನ್ನು ನಿವಾರಿಸುತ್ತದೆ ಮತ್ತು ಕಡಿಮೆ ಮಟ್ಟದ ಮೆಮೊರಿ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್‌ನಿಂದ ಉಂಟಾಗುವ ಸಮಸ್ಯೆಗಳಿಂದ ರಕ್ಷಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಮೆಮೊರಿ ಪ್ರದೇಶವನ್ನು ಮುಕ್ತಗೊಳಿಸಿದ ನಂತರ ಪ್ರವೇಶಿಸುವುದು, ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಡಿರೆಫರೆನ್ಸ್, ಬಫರ್ ಓವರ್‌ರನ್‌ಗಳು ಇತ್ಯಾದಿ. ಲೈಬ್ರರಿಗಳನ್ನು ವಿತರಿಸಲು, ಜೋಡಣೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ಯೋಜನೆಯ ಮೂಲಕ ಅವಲಂಬನೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ. ಕಾರ್ಗೋ, ಇದು ಪ್ರೋಗ್ರಾಂಗೆ ಅಗತ್ಯವಿರುವ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಒಂದೇ ಕ್ಲಿಕ್‌ನಲ್ಲಿ ಪಡೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಲೈಬ್ರರಿಗಳನ್ನು ಹೋಸ್ಟ್ ಮಾಡಲು ರೆಪೊಸಿಟರಿಯನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ crates.io.

ಮುಖ್ಯ ನಾವೀನ್ಯತೆಗಳು:

  • "const fn" ಎಂಬ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಕಾರ್ಯಗಳ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ, ಇದನ್ನು ನಿಯಮಿತ ಕಾರ್ಯಗಳು ಎಂದು ಮಾತ್ರ ಕರೆಯಬಹುದು, ಆದರೆ ಸ್ಥಿರಾಂಕಗಳ ಬದಲಿಗೆ ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಕಾರ್ಯಗಳನ್ನು ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ, ರನ್ಟೈಮ್ನಲ್ಲಿ ಅಲ್ಲ, ಆದ್ದರಿಂದ ಅವು ಕೆಲವು ನಿರ್ಬಂಧಗಳಿಗೆ ಒಳಪಟ್ಟಿರುತ್ತವೆ, ಉದಾಹರಣೆಗೆ ಸ್ಥಿರಾಂಕಗಳಿಂದ ಮಾತ್ರ ಓದುವ ಸಾಮರ್ಥ್ಯ.

    ಹೊಸ ಬಿಡುಗಡೆಯು ಅಂತಹ ಕಾರ್ಯಗಳಲ್ಲಿ ಬೂಲಿಯನ್ ಆಪರೇಟರ್‌ಗಳನ್ನು ("&&" ಮತ್ತು "||") ಬಳಸುವ ನಿಷೇಧವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು "if", "ಇಫ್ ಲೆಟ್", "ಮ್ಯಾಚ್" ರಚನೆಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ,
    "while", "while let" ಮತ್ತು "loop", ಮತ್ತು "&[T]" ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಲೈಸ್‌ಗಳಿಗೆ (ಸ್ಲೈಸ್, ಡೈನಾಮಿಕ್ ಅರೇಗಳು) ಪರಿವರ್ತಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ. "const fn" ಕಾರ್ಯಗಳಲ್ಲಿ ಈ ವೈಶಿಷ್ಟ್ಯಗಳ ಬಳಕೆಯು ಕೆಲವು ಸಂಪನ್ಮೂಲ-ತೀವ್ರ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಸಂಕಲನ ಹಂತಕ್ಕೆ ಸರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, "const-sha1" ನ ಅನುಷ್ಠಾನವು ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ SHA-1 ಹ್ಯಾಶ್‌ಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಇದು Rust ಗಾಗಿ WinRT ಬೈಂಡಿಂಗ್‌ಗಳನ್ನು ಸುಮಾರು 40 ಪಟ್ಟು ವೇಗಗೊಳಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ.

  • ದೋಷ ಸಂದೇಶಗಳನ್ನು ಹೆಚ್ಚು ತಿಳಿವಳಿಕೆ ನೀಡಲು, "#[track_caller]" ಗುಣಲಕ್ಷಣಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ, ಇದು ಅನ್‌ವ್ರ್ಯಾಪ್‌ನಂತಹ ಕಾರ್ಯಗಳಿಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ, ಇದು ಪ್ರಕಾರಗಳನ್ನು ತಪ್ಪಾಗಿ ಬಳಸಿದರೆ ಭಯಭೀತರಾಗಬಹುದು. ದೋಷ ಸಂದೇಶದಲ್ಲಿ ಕರೆ ಮಾಡುವವರ ಸ್ಥಳವನ್ನು ಮುದ್ರಿಸಲು ಪ್ಯಾನಿಕ್ ಹ್ಯಾಂಡ್ಲರ್‌ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಗುಣಲಕ್ಷಣವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
  • ಸ್ಥಿರಾಂಕಗಳ ಬದಲಿಗೆ ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ ಅದನ್ನು ಬಳಸುವ ಸಾಧ್ಯತೆಯನ್ನು ನಿರ್ಧರಿಸುವ "const" ಗುಣಲಕ್ಷಣವನ್ನು std::mem::forget ವಿಧಾನದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
  • API ಯ ಹೊಸ ಭಾಗವನ್ನು ಸ್ಥಿರ ವರ್ಗಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ಸ್ಥಿರವಾದ ಆಯ್ಕೆ::zip ಮತ್ತು vec::Drain::as_slice.
  • ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಕಾರ್ಗೋದಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡುವಾಗ ಹೊಂದಿಸಲಾದ ಹೊಸ ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳಿಗೆ ಬೆಂಬಲ: CARGO_BIN_NAME (ಪರಿಣಾಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ನ ಹೆಸರು), CARGO_CRATE_NAME (ಪ್ಯಾಕೇಜ್ ಹೆಸರು), CARGO_PKG_LICENSE (ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪರವಾನಗಿ), CARGO_PKG_LICENSE_FILE (ಪರವಾನಗಿ ಫೈಲ್‌ಗೆ ಮಾರ್ಗ).

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ