Rust 1.72 již byl vydán a toto jsou jeho nové funkce

logo rez

Rust je multiparadigmatický, univerzální, kompilovaný programovací jazyk.

Před pár dny to bylo oznámeno vydání nové verze oblíbeného programovacího jazyka «Rust 1.72», verze, ve které byly přidány nové funkce, stejně jako vylepšení, opravy chyb a různé změny, které se zaměřují na zjednodušení a plynulejší vytváření kódu.

Pro ty, kteří neznají tento programovací jazyk, by to měli vědět se zaměřuje na bezpečnost paměti a poskytuje prostředky k dosažení vysokého paralelismu úloh a zároveň se vyhnete použití garbage collectoru a runtime (runtime je redukováno na základní inicializaci a standardní údržbu knihovny).

Rustovy metody správy paměti šetří vývojáře před chybami při manipulaci s ukazateli a chrání před problémy které vznikají v důsledku nízkoúrovňového zpracování paměti, jako je přístup k oblasti paměti po jejím uvolnění, dereferencování nulových ukazatelů, přetečení vyrovnávací paměti atd. Pro distribuci knihoven, poskytování sestavení a správu závislostí projekt vyvíjí správce balíčků Cargo.

Hlavní nové funkce Rust 1.72

V této nové verzi, která je představena Rust 1.72 verze jedna z nejinovativnější funkce je zlepšení v užitečnost položek zakázaných atributy cfg podmíněná kompilace, která umožňuje aktivovat provádění kódu Rust v závislosti zda jsou určité funkce boxu podporovány nebo běží na konkrétních platformách.

Dříve položky deaktivované pomocí cfg nebyly viditelné pro kompilátor, ale nyní se to mění, protože kompilátor nyní uchovává důležité informace včetně názvů prvků a podmínek cfg. To umožňuje kompilátoru poskytnout zajímavou zpětnou vazbu, například upozornit na nedostupnost funkce kvůli nutnosti povolit konkrétní funkci boxu. To poskytuje vývojářům jasnější pokyny a usnadňuje efektivnější práci s kódováním. Například vám umožní pochopit, že některé funkce nejsou dostupné kvůli deaktivaci určitých vlastností funkcí na krabici.

Další změnou, která vyniká v této nové verzi Rust 1.72, je ta omezení doby vyhodnocení konstantních výrazů byla odstraněna, Vzhledem k tomu, že dříve, aby se zabránilo smyčkám v době kompilace, Rust omezil maximální počet výrazů, které bylo možné provést během konstantního vyhodnocování.
Tato funkce způsobovala chyby při kompilaci kódu, který nevyhovoval k omezením, tak v nové verzi bylo rozhodnuto nahradit přísná omezení s varovnou obrazovkou hlásící dlouhodobé konstantní výpočty. Kontrola vláken const_eval_long_running se také standardně používá k detekci smyček.

Kromě toho se také poznamenává, že Clippy seznamy byly vylepšeny, protože řada Clippy kontrol byla přesunuta do kompilátoru Rustc:

  • undropped_manually_drops: změněno na s úrovní odmítnutí. Pokud jde o ManuallyDrop, interní hodnota není automaticky odstraněna. Vyvolání std::mem::drop nemá žádný účinek. Místo toho tento lint nyní navrhuje použití ManuallyDrop::into_inner jako hlavní možnost.
  • invalid_utf8_in_unchecked: přejmenován na úroveň odmítnutí a úroveň varování; invalid_from_utf8_unchecked invalid_from_utf8. Identifikuje případy, kdy jsou std::str::from_utf8_unchecked a std::str::from_utf8_unchecked_mut použity s neplatnými literály UTF-8. Toto použití porušuje vaše bezpečnostní předpoklady a vede k nedefinovanému chování. Toto chmýří je nyní kategoricky zakázáno.
  • invalid_nan_comparisons: identifikuje porovnání zahrnující f32::NAN nebo f64::NAN jako operandy. Protože NaN postrádá smysluplná srovnání
  • invalid_reference_casting: upozorňuje na případy, kdy se &T stává &mut T, aniž by využívalo jeho proměnlivosti. Takové akce vedou k okamžitému, nedefinovanému chování bez ohledu na to, zda je odkaz použit nebo ne.

Z další změny, které vynikají nové verze:

  • Nová část API byla přesunuta do kategorie stable, včetně metod a implementací vlastností, které byly stabilizovány.
  • Atribut "const", který určuje možnost použití v libovolném kontextu místo konstant, se používá ve funkcích:
  • Byla implementována podpora třetí úrovně pro platformy loongarch64-unknown-none*. Třetí úroveň zahrnuje základní podporu, ale bez automatického testování, publikování oficiálních sestavení a ověřování schopnosti zkompilovat kód.
  • V budoucí verzi Rust 1.76 se plánuje zrušení podpory pro platformy Windows 7, 8 a 8.1 a Windows 10 bude minimální verzí pro účely kompilátoru i kompilace.

Pokud zájem se o tom dozvědět více, můžete zkontrolovat podrobnosti v následující odkaz.

Konečně pro ty, kteří jsou Mám zájem o upgrade z předchozí verze Rust nainstalován přes rustup, můžete získat novou verzi Rust 1.72.0 s:

rustup update stable


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.