ரஸ்ட் 1.43 நிரலாக்க மொழி வெளியீடு

வெளியிடப்பட்டது கணினி நிரலாக்க மொழி வெளியீடு துரு 1.43, Mozilla திட்டத்தால் நிறுவப்பட்டது. மொழி நினைவக பாதுகாப்பில் கவனம் செலுத்துகிறது, தானியங்கி நினைவக நிர்வாகத்தை வழங்குகிறது, மேலும் குப்பை சேகரிப்பாளரைப் பயன்படுத்தாமல் உயர் பணி இணைத்தன்மையை அடைவதற்கான கருவிகளை வழங்குகிறது. இயக்க.

ரஸ்டின் தானியங்கி நினைவக மேலாண்மை டெவலப்பரை சுட்டிக்காட்டி கையாளுதலில் இருந்து விடுவிக்கிறது மற்றும் இலவச நினைவக அணுகல்கள், பூஜ்ய சுட்டிக்காட்டி குறைபாடுகள், பஃபர் ஓவர்ரன்கள் மற்றும் பல போன்ற குறைந்த-நிலை நினைவக கையாளுதலில் இருந்து எழும் சிக்கல்களிலிருந்து பாதுகாக்கிறது. நூலகங்களை விநியோகிக்கவும், அசெம்பிளியை உறுதி செய்யவும் மற்றும் திட்டத்தின் சார்புகளை நிர்வகிக்கவும் ஒரு தொகுப்பு மேலாளர் உருவாக்கப்படுகிறது. சரக்கு, நிரலுக்குத் தேவையான நூலகங்களை ஒரே கிளிக்கில் பெற உங்களை அனுமதிக்கிறது. நூலகங்களை ஹோஸ்ட் செய்ய ஒரு களஞ்சியம் துணைபுரிகிறது crates.io.

முக்கிய புதுமைகள்:

  • மேக்ரோக்கள் தனிமங்களின் துண்டுகளை பண்புக்கூறுகள் (பண்பு), செயலாக்கங்கள் (impl) அல்லது வெளிப்புறத் தொகுதிகளுக்கான குறியீடாக மாற்றும் திறனை வழங்குகின்றன. உதாரணத்திற்கு:

    மேக்ரோ_விதிகள்! mac_trait {
    ($i:பொருள்) => {
    பண்பு டி {$i }
    }
    }
    மேக்_பண்பு! {
    fn foo() {}
    }

    தலைமுறைக்கு வழிவகுக்கும்:

    பண்பு டி {
    fn foo() {}
    }

  • ஆதிகாலங்கள், குறிப்புகள் மற்றும் பைனரி செயல்பாடுகளின் மேம்படுத்தப்பட்ட வகை கண்டறிதல்.
    எடுத்துக்காட்டாக, முன்பு பிழையை ஏற்படுத்திய பின்வரும் குறியீட்டை இப்போது தொகுக்க முடியும் (ரஸ்ட் இப்போது 0.0 மற்றும் &0.0 என்பது f32 வகையாக இருக்க வேண்டும் என்பதை சரியாக தீர்மானிக்கிறது):

    n: f32 = 0.0 + &0.0;

  • கார்கோவில் ஒரு புதிய சூழல் மாறி CARGO_BIN_EXE_{name} சேர்க்கப்பட்டுள்ளது, இது ஒருங்கிணைப்பு சோதனைகளை உருவாக்கும் போது அமைக்கப்பட்டது மற்றும் தொகுப்பின் “[[பின்]]” பிரிவில் வரையறுக்கப்பட்ட இயங்கக்கூடிய கோப்பிற்கான முழு பாதையை தீர்மானிக்க உங்களை அனுமதிக்கிறது.
  • "#[cfg()]" போன்ற பண்புக்கூறுகளைப் பயன்படுத்த அறிக்கைகள் அனுமதிக்கப்பட்டால்.
  • ஒரு தொகுதியை இறக்குமதி செய்யாமல், முழு எண் மற்றும் பின்ன வகைகளுக்கு நேரடியாக தொடர்புடைய மாறிலிகளைப் பயன்படுத்தும் திறனை நூலகம் வழங்குகிறது. எடுத்துக்காட்டாக, "std::u32 ஐப் பயன்படுத்து" மற்றும் "std::f32 ஐப் பயன்படுத்து" என்பதை முதலில் குறிப்பிடாமல் u32::MAX அல்லது f32::NAN ஐ உடனடியாக எழுதலாம்.
  • புதிய தொகுதி சேர்க்கப்பட்டது பழமையான, இது ரஸ்ட் பழமையான வகைகளை மறு-ஏற்றுமதி செய்கிறது, எடுத்துக்காட்டாக, நீங்கள் ஒரு மேக்ரோவை எழுத வேண்டும் மற்றும் வகைகள் மறைக்கப்படவில்லை என்பதை உறுதிப்படுத்தவும்.
  • APIகளின் புதிய பகுதியானது, நிலைப்படுத்தப்பட்டவை உட்பட, நிலையான வகைக்கு மாற்றப்பட்டது

    ஒருமுறை::முடிந்தது,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 மற்றும்
    iter::ஒருமுறை_உடன்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்