Új funkciók és fejlesztések a Rust 1.84-ben

A programozási nyelv legújabb verziója, az 1.84-es kiadás 2025. január 9-én jelent meg, számos izgalmas újítást és fejlesztést hozva magával. Ez a frissítés jelentős előrelépéseket tartalmaz a kód biztonságában, a fejlesztői élményben és a teljesítményben. Nézzük meg részletesen, mit kínál az új verzió!

Szigorú származási API-k bevezetése

A szigorú származási (strict provenance) API-k a Rust 1.84-es verziójának egyik fontos újítása, amely a memóriakezelés biztonságosabbá és átláthatóbbá tételét célozza. Ezek az API-k lehetővé teszik a fejlesztők számára, hogy explicit módon kezeljék a mutatók származását, elkerülve az egész szám és mutató közötti kétértelmű átalakításokat.

A szigorú származás lényege

A szigorú származás koncepciója azon alapul, hogy egy mutató nem csupán egy egyszerű cím vagy egész szám, hanem további információkat is hordoz magában:

  1. Cím: A memóriában lévő tényleges hely, amelyre a mutató mutat.
  2. Származás: Meghatározza, hogy a mutató milyen memóriaterülethez férhet hozzá jogosultan.

A származásnak három fő komponense van:

  1. Térbeli: Meghatározza, mely memóriacímekhez férhet hozzá a mutató.
  2. Időbeli: Megadja azt az időtartamot, amíg a mutató hozzáférhet a memóriához.
  3. Módosíthatóság: Meghatározza, hogy a mutató csak olvasásra vagy írásra is használható-e.

Szigorú származási API-k használata

A szigorú származási API-k bevezetésével a Rust célja, hogy elkerülje a mutatók és egész számok közötti közvetlen átalakításokat. Ehelyett olyan metódusokat biztosít, amelyek explicit módon kezelik a származást:

  • with_addr: Ez a metódus lehetővé teszi egy új mutató létrehozását egy adott címmel, miközben megőrzi az eredeti mutató származását.
  • map_addr: Egy kényelmi metódus, amely lehetővé teszi a mutató címének módosítását a származás megtartása mellett.
  • addr: Ez a metódus visszaadja a mutató címét, de garantálja, hogy ez nem része egy mutató-egész szám-mutató átalakítási körnek.

Előnyök és használat

A szigorú származási API-k használata több előnnyel jár:

  • Biztonságosabb kód: Csökkenti a memóriahibák és biztonsági rések kockázatát.
  • Jobb optimalizáció: A fordítóprogram pontosabban értelmezheti a kódot.
  • Kompatibilitás: Lehetővé teszi olyan eszközök használatát, mint a Miri, amelyek a mutatók helytelen használatát diagnosztizálják.

A legtöbb kódnak nem szükséges változtatásokat eszközölnie a szigorú származás követéséhez. Főként azokban az esetekben van szükség módosításra, ahol egész számokat alakítanak át mutatókká. Ilyenkor gondoskodni kell arról, hogy megmaradjon egy megfelelő származással rendelkező mutató, amely lehetővé teszi a memória elérését.

MSRV-tudatos függőségkezelő

A Rust 1.84 stabilizálja a minimálisan támogatott Rust verzió (MSRV) tudatos függőségkezelőt. Ez a funkció előnyben részesíti azokat a függőségverziókat, amelyek kompatibilisek a projekt deklarált MSRV-jével.

  • Csökkenti a karbantartók munkáját a régebbi eszközkészletek támogatásában.
  • A fejlesztőknek nem kell manuálisan kiválasztaniuk a régebbi verziókat minden egyes függőséghez.
  • A funkció bekapcsolható a .cargo/config.toml fájlon keresztül.

Új trait solver implementáció

A Rust fordítóprogram egy új implementációra vált át a trait solver esetében. Ez a következő generációs trait solver a Rust típusrendszerének egy kulcsfontosságú komponensét implementálja újra.

  • Felelős a trait-korlátok ellenőrzéséért.
  • Más részei is használják a típusrendszernek, például a normalizálás és a típusok egyenlősége.
  • Az 1.84-es verzióban az új solver a trait impl-ek koherenciájának ellenőrzésére szolgál.
  • Javítja az előző implementáció néhány elméleti helyességi problémáját.

A frissítés telepíthető a rustup update stable parancs használatával azoknál, akiknek már van telepítve egy korábbi verzió. Akik még nem fejlesztettek Rust-ban, azoknak ez is egy kiváló alkalom lehet arra, hogy kipróbálják ezt a folyamatosan fejlődő és egyre népszerűbb programozási nyelvet.   

Osszd meg ezt a cikket
Az Apple Anthropic-ra támaszkodva kíván saját „Vibe-Coding” platformot létrehozni
Az Apple számos nehézséggel nézett szembe az utóbbi időben saját mesterséges intelligencia megoldásainak kifejlesztése során, ezért talán nem meglepő, hogy a továbbiakban inkább külső AI-szakértelemre támaszkodna a további fejlesztések érdekében. Most úgy döntöttek, hogy az Anthropic-al egyesítik erőiket egy forradalmi „vibe-coding” szoftverplatform létrehozására, amely a generatív mesterséges intelligenciát használja fel a programozók kódjának írására, szerkesztésére és tesztelésére - derül ki a legfrissebb jelentésekből.
A JetBrains Mellum nyílt forráskódúvá vált
2025. április 30-tól a JetBrains jelentős lépést tett az AI-fejlesztés területén azzal, hogy nyílt forráskódúvá tette a Mellumot, a kifejezetten kódkiegészítésre tervezett, célzottan erre a célra kifejlesztett nyelvi modelljét. Ez a speciális 4B paraméteres modell, amely korábban csak a JetBrains kereskedelmi kínálatának részeként volt elérhető, mostantól szabadon hozzáférhető a Hugging Face-en, új lehetőségeket nyitva meg a kutatók, oktatók és fejlesztőcsapatok előtt.
Tízszeres gyorsulás a TypeScript motor Go nyelvre való átírása után
A TypeScript csapata többször próbálta már az eredeti JavaScript motort átírni, más programozási nyelvre, de ez idáig ezek a próbálkozások nem hozták a kívánt eredményt. A napokban azonban bejelentették, hogy a Go nyelvre történő átírással áttörést értek el.
A Linux kernel dráma közepette érkezett a Rust 1.85.0
Az 1.85 a 2024-es kiadás egy újabb javítása, amely tovább javítja memóriabiztonságot és az egyidejűségi modelleket és igyekszik egy jobb és megbízhatóbb eszközöket nyújtani teljesítménykritikus rendszerek fejlesztéséhez. A Rust elfogadtatása azonban, pont ott halad a legnehezebben, ahol a leginkább létjogosultsága van, a Linux kernel fejlesztésében.