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

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

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

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

  • ಗುಣಲಕ್ಷಣಗಳು FnOnce, FnMut и Fn ರಾಶಿ-ಹಂಚಿಕೆಗೆ ಅಳವಡಿಸಲಾಗಿದೆ ಪೆಟ್ಟಿಗೆಯ ಪ್ರಕಾರಗಳು Box‹dyn FnOnce›, Box‹dyn FnMut› ಮತ್ತು Box‹dyn Fn›;
  • ಸೇರಿಸಲಾಗಿದೆ ಅವಕಾಶವನ್ನು ಅಸುರಕ್ಷಿತ ಫಂಕ್ಷನ್ ಪಾಯಿಂಟರ್‌ಗಳಿಗೆ ಮುಚ್ಚುವಿಕೆಗಳನ್ನು ಬಿತ್ತರಿಸುವುದು (ಅಸುರಕ್ಷಿತ fn);
  • ಮ್ಯಾಕ್ರೋವನ್ನು "dbg!" ಎಂದು ಕರೆಯುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ವೇರಿಯಬಲ್ ಅನ್ನು ಪರಿಶೀಲಿಸದೆಯೇ stderr ನಲ್ಲಿ ಫೈಲ್ ಹೆಸರು ಮತ್ತು ಸಾಲಿನ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ವಾದಗಳಿಲ್ಲದೆ, ಷರತ್ತುಬದ್ಧ ಅಭಿವ್ಯಕ್ತಿಗಳ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಅನುಕೂಲಕರವಾಗಿದೆ;
  • ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಪ್ರಕಾರಗಳನ್ನು f32 ಮತ್ತು f64 ಗೆ ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆನಕಲು ಸಹಿ»ಒಂದು ಅಕ್ಷರವನ್ನು ಒಂದು ಸಂಖ್ಯೆಯಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ನಕಲಿಸಲು;
  • ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ "ಹೊಂದಿದೆ“, ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮೌಲ್ಯವು ವ್ಯಾಪ್ತಿಯಲ್ಲಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ;
  • ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಉಲ್ಲೇಖ: ಕೋಶ: ನಕ್ಷೆ_ವಿಭಜನೆ, ಎರವಲು ಪಡೆದ ಡೇಟಾದ ವಿವಿಧ ಘಟಕಗಳಿಗೆ ಎರವಲು ಪಡೆದ RefCell ಮೌಲ್ಯವನ್ನು ಪ್ರತಿಬಿಂಬಿಸಲು ಮತ್ತು ಪ್ರತ್ಯೇಕಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ;
  • ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ RefCell::replace_with ಪ್ರಸ್ತುತ RefCell ಮೌಲ್ಯವನ್ನು ಬದಲಿಸಲು ಮತ್ತು ಪರಿಣಾಮವಾಗಿ ಹಳೆಯ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸಲು;
  • ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ptr::ಹ್ಯಾಶ್ ಉದ್ದೇಶಿಸಲಾದ ಮೌಲ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ವಿಳಾಸದ ಮೂಲಕ ಪಾಯಿಂಟರ್ ಅಥವಾ ಉಲ್ಲೇಖವನ್ನು ಹ್ಯಾಶ್ ಮಾಡಲು;
  • ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಆಯ್ಕೆ:: ನಕಲು Option‹&T› ಅಥವಾ Option‹&mut T› ಆಯ್ಕೆಗಳ ವಿಷಯಗಳನ್ನು ನಕಲಿಸಲು;
  • API ಗಳ ಹೊಸ ಭಾಗವನ್ನು ಸ್ಥಿರಗೊಳಿಸಿದ ವಿಧಾನಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಸ್ಥಿರ ವರ್ಗಕ್ಕೆ ವರ್ಗಾಯಿಸಲಾಗಿದೆ
    f32:: ನಕಲು ಚಿಹ್ನೆ,
    f64:: ನಕಲು ಚಿಹ್ನೆ,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::ಹ್ಯಾಶ್,
    ಶ್ರೇಣಿ::ಒಳಗೊಂಡಿದೆ,
    ಶ್ರೇಣಿಯಿಂದ::ಒಳಗೊಂಡಿದೆ,
    ಶ್ರೇಣಿಗೆ::ಒಳಗೊಂಡಿದೆ,
    ಶ್ರೇಣಿಯನ್ನು ಒಳಗೊಂಡಿದೆ::ಒಳಗೊಂಡಿದೆ,
    RangeToInclusive:: ಒಳಗೊಂಡಿದೆ ಮತ್ತು
    ಆಯ್ಕೆ:: ನಕಲು;

  • ಕ್ಲಿಪ್ಪಿ (ಲಿಂಟರ್) ಗೆ ಡ್ರಾಪ್_ಬೌಂಡ್ಸ್ ಚೆಕ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಕಾರ್ಯಕ್ಕೆ "ಟಿ: ಡ್ರಾಪ್" ಬೈಂಡಿಂಗ್ ಅನ್ನು ಸೇರಿಸುವಾಗ ಪ್ರಚೋದಿಸಲ್ಪಡುತ್ತದೆ;
  • ಕಂಪೈಲರ್ ಹೊಸ ಗುರಿ ವೇದಿಕೆಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿದೆ
    wasm32-unknown-wasi (ಇಂಟರ್ಫೇಸ್ ವಾಸಿ ಬ್ರೌಸರ್ ಹೊರಗೆ WebAssembly ಬಳಸಲು);

  • ರಸ್ಟ್ ಟೂಲ್ಕಿಟ್ ಅನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ C ಲೈಬ್ರರಿ Musl ಆಧರಿಸಿ ವಿತರಣೆಗಳಿಗೆ ಅಳವಡಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

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