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

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

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

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

  • ಮ್ಯಾಕ್ರೋಗಳು ಅಂಶಗಳ ತುಣುಕುಗಳನ್ನು ಗುಣಲಕ್ಷಣಗಳು (ಲಕ್ಷಣ), ಅನುಷ್ಠಾನಗಳು (impl) ಅಥವಾ ಬಾಹ್ಯ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಕೋಡ್ ಆಗಿ ಪರಿವರ್ತಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ:

    ಮ್ಯಾಕ್ರೋ_ನಿಯಮಗಳು! mac_trait {
    ($i:ಐಟಂ) => {
    ಲಕ್ಷಣ T {$i}
    }
    }
    mac_trait! {
    fn foo() {}
    }

    ಪೀಳಿಗೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ:

    ಲಕ್ಷಣ T {
    fn foo() {}
    }

  • ಪ್ರಾಚೀನತೆಗಳು, ಉಲ್ಲೇಖಗಳು ಮತ್ತು ಬೈನರಿ ಕಾರ್ಯಾಚರಣೆಗಳ ಸುಧಾರಿತ ಪ್ರಕಾರದ ಪತ್ತೆ.
    ಉದಾಹರಣೆಗೆ, ಈ ಹಿಂದೆ ದೋಷವನ್ನು ಉಂಟುಮಾಡಿದ ಕೆಳಗಿನ ಕೋಡ್ ಈಗ ಕಂಪೈಲ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ (ರಸ್ಟ್ ಈಗ 0.0 ಮತ್ತು &0.0 ಎಫ್32 ಪ್ರಕಾರವಾಗಿರಬೇಕು ಎಂದು ಸರಿಯಾಗಿ ನಿರ್ಧರಿಸುತ್ತದೆ):

    n: f32 = 0.0 + &0.0;

  • ಹೊಸ ಪರಿಸರ ವೇರಿಯೇಬಲ್ CARGO_BIN_EXE_{name} ಅನ್ನು ಕಾರ್ಗೋಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ಹೊಂದಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ಯಾಕೇಜ್‌ನ “[[ಬಿನ್]]” ವಿಭಾಗದಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗೆ ಪೂರ್ಣ ಮಾರ್ಗವನ್ನು ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
  • "#[cfg()]" ನಂತಹ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬಳಸಲು ಹೇಳಿಕೆಗಳನ್ನು ಅನುಮತಿಸಿದರೆ.
  • ಲೈಬ್ರರಿಯು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳದೆ ನೇರವಾಗಿ ಪೂರ್ಣಾಂಕ ಮತ್ತು ಭಿನ್ನರಾಶಿ ಪ್ರಕಾರಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ತಕ್ಷಣವೇ u32::MAX ಅಥವಾ f32::NAN ಅನ್ನು ಮೊದಲು "std::u32 ಬಳಸಿ" ಮತ್ತು "std::f32 ಬಳಸಿ" ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದೆಯೇ ಬರೆಯಬಹುದು.
  • ಹೊಸ ಮಾಡ್ಯೂಲ್ ಸೇರಿಸಲಾಗಿದೆ ಪ್ರಾಚೀನ, ಇದು ರಸ್ಟ್ ಪ್ರಾಚೀನ ಪ್ರಕಾರಗಳನ್ನು ಮರು-ರಫ್ತು ಮಾಡುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ನೀವು ಮ್ಯಾಕ್ರೋ ಬರೆಯಲು ಮತ್ತು ಪ್ರಕಾರಗಳನ್ನು ಮರೆಮಾಡಲಾಗಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
  • API ಗಳ ಹೊಸ ಭಾಗವನ್ನು ಸ್ಥಿರಗೊಳಿಸಿದ ಸೇರಿದಂತೆ ಸ್ಥಿರ ವರ್ಗಕ್ಕೆ ವರ್ಗಾಯಿಸಲಾಗಿದೆ

    ಒಮ್ಮೆ:: ಪೂರ್ಣಗೊಂಡಿದೆ,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 ಮತ್ತು
    iter::ಒಮ್ಮೆ_ಜೊತೆ.

ಮೂಲ: opennet.ru

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