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

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

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

புதிய வெளியீட்டின் அறிவிப்பின் உரையில், ரஸ்ட் டெவலப்பர்கள் அரசியலில் ஈடுபட்டு, ரஸ்ட் 1.44 இல் உள்ள மாற்றங்களின் முழு மதிப்பாய்வை வெளியிட மறுத்து, போலீஸ் வன்முறைக்கு எதிரான எதிர்ப்பாளர்களுடன் ஒற்றுமையின் அடையாளமாக, இந்த பிரச்சினை மிகவும் முக்கியமானது என்பதைக் குறிக்கிறது. தொழில்நுட்ப அறிவு பரிமாற்றத்தை விட. அடிப்படை புதுமைகள்:

  • சரக்கு தொகுப்பு மேலாளர் "கார்கோ ட்ரீ" கட்டளையை ஒருங்கிணைக்கிறது, இது மரம் போன்ற சார்பு வரைபடத்தைக் காட்டுகிறது. “—நகல்கள்” (“சரக்கு மரம் -d”) விருப்பமும் சேர்க்கப்பட்டுள்ளது, இது ஒரே தொகுப்பின் வெவ்வேறு பதிப்புகளில் சார்புகளை மதிப்பிட உங்களை அனுமதிக்கிறது.

    mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── அம்மோனியா v3.0.0
    │ ├── html5ever v0.24.0
    │ │ ├── பதிவு v0.4.8
    │ │ │ └── cfg-if v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup5ever v0.9.0
    │ │ ├── பதிவு v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_shared v0.7.24
    │ │ │ ├── siphasher v0.2.3
    │ │ │ └── unicase v1.4.2
    │ │ │ [கட்டுமான-சார்பு] │ │ │ └── version_check v0.1.5
    ...

  • ஒரு std ("#![no_std]") உடன் பிணைக்கப்படாத பயன்பாடுகளுக்கு, ஒத்திசைவற்ற நிரலாக்க நுட்பங்களுக்கான ஆதரவு "அசின்க்" செயல்பாடு, ஒத்திசைவு நகர்வு { ... } பிளாக் மற்றும் ". காத்து" ஆபரேட்டர் ஆகியவற்றின் அடிப்படையில் செயல்படுத்தப்படுகிறது. தடுக்காத கையாளுபவர்களின் முக்கிய கட்டளை ஓட்டத்தை எழுதுவதை எளிதாக்குங்கள்.
  • விரிவாக்கக்கூடிய தொகுதி படிநிலை வரையறை திட்டத்திற்கான ஆதரவு பாகுபடுத்தியில் சேர்க்கப்பட்டுள்ளது. எடுத்துக்காட்டாக, "foo/bar/baz.rs" தொகுதி உண்மையில் இல்லாவிட்டாலும், பின்வரும் கட்டமைப்பானது பிழையை உருவாக்காது (கட்டமைப்பானது இன்னும் சொற்பொருளில் தவறானது மற்றும் பிழையை ஏற்படுத்தலாம், ஆனால் மாற்றங்களைக் காணலாம் மற்றும் பாகுபடுத்தலாம் மேக்ரோ மற்றும் நிபந்தனை தொகுப்பு நிலை):

    #[cfg(FALSE)] mod foo {
    மோட் பார் {
    மோட் பாஸ்;
    }
    }

  • "-C codegen-units" கொடியை அதிகரிக்கும் முறையில் பயன்படுத்தும் திறனை rustc கம்பைலர் சேர்த்துள்ளது. கேட்ச்_அன்விண்டின் செயலாக்கம் மறுவேலை செய்யப்பட்டுள்ளது, இதனால் அன்வைண்டிங் செயல்முறை முடக்கப்பட்டாலும், விதிவிலக்குகள் எதுவும் கொடுக்கப்படாமலும் இருந்தால் செயல்திறன் தாக்கம் இருக்காது.
  • aarch64-unknown-none, aarch64-unknown-none-softfloat, arm64-apple-tvos மற்றும் x86_64-apple-tvos இயங்குதளங்களுக்கு நிலை XNUMX ஆதரவு வழங்கப்பட்டுள்ளது. மூன்றாம் நிலை அடிப்படை ஆதரவை உள்ளடக்கியது, ஆனால் தானியங்கு சோதனை மற்றும் அதிகாரப்பூர்வ உருவாக்கங்களின் வெளியீடு இல்லாமல்.
  • APIகளின் புதிய பகுதியானது, நிலைப்படுத்தப்பட்டவை உட்பட, நிலையான வகைக்கு மாற்றப்பட்டது
    PathBuf:: with_capacity,
    PathBuf:: கொள்ளளவு,
    PathBuf::தெளிவான,
    PathBuf:: இருப்பு,
    PathBuf::reserve_exact,
    PathBuf::சுருக்க_பொருத்தம்,
    {f32|f64}::to_int_unchecked,
    தளவமைப்பு:: align_to,
    தளவமைப்பு::pad_to_align,
    தளவமைப்பு::வரிசை மற்றும்
    தளவமைப்பு::நீட்டி.

  • நிலையான நூலகத்தின் விரிவாக்கப்பட்ட செயல்பாடுகள்:
    • Vec::new() இல் நேரடியாகப் பிரதிபலிக்கும் ஒரு சிறப்பு "vec![]" மாறுபாடு சேர்க்கப்பட்டது, இது மாறிலிகளுக்குப் பதிலாக சூழலில் "vec![]" ஐப் பயன்படுத்த அனுமதிக்கிறது.
    • பண்பின் செயல்படுத்தல் (impl) மாற்றுவதற்கு::தவறாததாக மாற்றப்பட்டது ஹாஷ்.
    • OsString ஸ்மார்ட் சுட்டிகளை செயல்படுத்துகிறது DerefMut и IndexMut, திரும்பும் "&mut OsStr".
    • யூனிகோட் 13க்கான ஆதரவு சேர்க்கப்பட்டது.
    • சரத்தில் செயல்படுத்தப்பட்டது இலிருந்து<&mut str>.
    • IoSlice பண்பை செயல்படுத்துகிறது நகல்.
    • வெக் இலிருந்து செயல்படுத்தப்பட்டது<[T; N]>.
    • proc_macro::LexError fmt::Display மற்றும் பிழையை செயல்படுத்துகிறது.
  • "const" பண்புக்கூறானது, மாறிலிகளுக்குப் பதிலாக எந்தச் சூழலிலும் பயன்படுத்தப்படுமா என்பதை தீர்மானிக்கிறது, இது from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes மற்றும் to_ne_bytes முறைகளில் அனைத்து முழு எண் வகைகளுக்கும் பயன்படுத்தப்படுகிறது.
  • Windows இல் GNU இயங்குதளங்களில் ".lib" க்குப் பதிலாக ".a" வடிவத்தில் நிலையான நூலகங்களை உருவாக்குவதற்கான ஆதரவு சேர்க்கப்பட்டது.
  • LLVMக்கான குறைந்தபட்சத் தேவைகள் LLVM பதிப்பு 8க்கு உயர்த்தப்பட்டுள்ளன.

ஆதாரம்: opennet.ru

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