Shkëputja e gjuhës së programimit Rust 1.63

Ështe publikuar versioni i gjuhĂ«s sĂ« programimit Rust 1.63, e cila Ă«shtĂ« zhvilluar nga Mozilla dhe tani zhvillohet nĂ«n mbĂ«shtetje tĂ« organizatĂ«s jofitimprurĂ«se Rust Foundation. Gjuha fokusohet nĂ« sigurinĂ« e menaxhimit tĂ« memories dhe ofron mjete pĂ«r arritjen e paralelizmit tĂ« lartĂ« pa pĂ«rdorur mbledhĂ«sin e mbetjeve dhe runtime (runtime pĂ«rfshin vetĂ«m inicializimin themelor dhe mbĂ«shtetje pĂ«r bibliotekĂ«n standarde).

Metodat e punës me kujtesën në Rust e çlirojnë zhvilluesin nga gabimet gjatë manipulimit të treguesve dhe mbrojnë nga problemet që lindin nga puna me nivel të ulët me kujtesën, siç janë referimi në një zonë kujtese pas çlirimit të saj, dereferimi i treguesve null, tejkalimi i kufijve të tamponëve etj. Për shpërndarjen e biblioteka, për të siguruar ndërtimin dhe menaxhimin e varësive, projekti zhvillon menaxherin e paketave Cargo. Për ruajtjen e bibliotekave, mbështetet depoja crates.io.

Përdorimi i sigurt i memories sigurohet në Rust gjatë kompilimit përmes verifikimit të lidhjeve, gjurmimit të pronësisë së objekteve, përllogaritjes së kohëzgjatjes së objekteve (fushave të dukshmërisë) dhe vlerësimit të saktësisë së qasjes në memorie gjatë ekzekutimit të kodit. Rust gjithashtu ofron mjete për mbrojtje nga tejkalimet e numrave të plotë, kërkon inicializim të detyrueshëm të vlerave të variablave para përdorimit, menaxhon më mirë gabimet në bibliotekën standarde, aplikon konceptin e lidhjeve dhe variablave të pandryshueshëm (immutable) si parazgjedhje, dhe ofron tipizim të fortë statik për minimizimin e gabimeve logjike.

TĂ« rejat kryesore:

  • Shtuar API std::thread::scope, e cila lejon krijimin e fijeve tĂ« lidhura me fushĂ«n e dukshmĂ«risĂ« (Scoped threads). Ndryshe nga fijet e mĂ«parshme, API i ri std::thread::scope lejon kalimin e tĂ« dhĂ«nave tĂ« huazuara (borrowing) qĂ« nuk janĂ« statike, ndĂ«rsa fijet e krijuara me API klasik std::thread::spawn duhej tĂ« zotĂ«ronin tĂ« gjitha argumentet e kaluara dhe nuk mund tĂ« merrnin variablat e huazuara. API std::thread::scope garanton qĂ« çdo fije e krijuar do tĂ« pĂ«rfundojĂ« para se tĂ« kthehen tĂ« dhĂ«nat, duke siguruar njĂ« nivel tĂ« duhur sigurie pĂ«r mekanizmin e huazimit.
  • Propozuar tipe tĂ« reja pĂ«r skedarĂ«t e descriptorĂ«ve — BorrowedFd dhe OwnedFd, qĂ« ofrojnĂ« huazim dhe zotĂ«rim. TĂ« dyja tipet janĂ« tĂ« shĂ«nuara me «#[repr(transparent)]», duke lejuar pĂ«rdorimin e drejtpĂ«rdrejtĂ« nĂ« lidhjet C pĂ«r tĂ« pasur parasysh zotĂ«rimin.
  • E mundĂ«suar thirrjen e Condvar::new, Mutex::new dhe RwLock::new nĂ« kontekstin e konstantave pĂ«r krijimin e vlerave statike globale Mutex, RwLock dhe Condvar pa pĂ«rdorur paketa si lazy_static.
  • PĂ«r funksionet e tipit fn foo<T>(value: T, f: impl Copy) Ă«shtĂ« lejuar pĂ«rdorimi i sintaksĂ«s «foo::<u32>(3, 3)», duke e treguar qartĂ« tipin e gjenerikĂ«ve.
  • PĂ«rfunduar kalimi nĂ« pĂ«rdorimin e teknikĂ«s NLL (Non-Lexical Lifetimes) pĂ«r identifikimin e problemeve me huazimin e variablave. NLL mbikĂ«qyr nĂ« nivelin e grupit tĂ« treguesve nĂ« grafikun e ekzekutimit, duke lejuar rritjen e cilĂ«sisĂ« sĂ« verifikimit tĂ« huazimit tĂ« variablave (borrow checker) dhe duke lejuar ekzekutimin e disa llojeve tĂ« kodit tĂ« saktĂ« qĂ« mĂ« parĂ« çonin nĂ« gabime. MbĂ«shtetje pĂ«r mekanizmin e vjetĂ«r, qĂ« pĂ«rdorte lidhjen e jetĂ«s nĂ« nivel leksik, Ă«shtĂ« eliminuar plotĂ«sisht nga rustc, dhe pĂ«rdorimi i NLL tĂ« ri Ă«shtĂ« implementuar gjithandej.
  • NjĂ« sasi e re API Ă«shtĂ« kaluar nĂ« kategorinĂ« stabile, pĂ«rfshirĂ« stabilizimin e metodave dhe implementimeve tĂ« tipazheve:
    • array::from_fn
    • Box::into_pin
    • BinaryHeap::try_reserve
    • BinaryHeap::try_reserve_exact
    • OsString::try_reserve
    • OsString::try_reserve_exact
    • PathBuf::try_reserve
    • PathBuf::try_reserve_exact
    • Path::try_exists
    • Ref::filter_map
    • RefMut::filter_map
    • NonNull::<[T]>::len
    • ToOwned::clone_into
    • Ipv6Addr::to_ipv4_mapped
    • unix::io::AsFd
    • unix::io::BorrowedFd<‘fd>
    • unix::io::OwnedFd
    • windows::io::AsHandle
    • windows::io::BorrowedHandle

      Burimi: opennet.ru
Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster