Wydanie języka programowania Rust 1.35

Odbyła się wydanie języka programowania systemu Rdza 1.35, opracowany w ramach projektu Mozilla. Język koncentruje się na bezpieczeństwie pamięci, zapewnia automatyczne zarządzanie pamięcią i zapewnia środki do osiągnięcia dużej równoległości zadań bez użycia modułu zbierającego elementy bezużyteczne lub środowiska wykonawczego.

Automatyczne zarządzanie pamięcią Rusta uwalnia programistę od manipulacji wskaźnikami i chroni przed problemami wynikającymi z manipulacji pamięcią na niskim poziomie, takimi jak dostęp do pamięci po zwolnieniu, wyłuskiwanie wskaźników zerowych, przepełnienie bufora i tym podobne. Trwają prace nad menedżerem pakietów, który umożliwi dystrybucję bibliotek, zapewnienie montażu i zarządzanie zależnościami w ramach projektu. Ładunek, co pozwala jednym kliknięciem pobrać biblioteki potrzebne do programu. Repozytorium jest obsługiwane w celu hostowania bibliotek skrzynie.io.

Głównym innowacje:

  • Cechy FnRaz, FnMut и Fn zaimplementowane dla przydzielonych stert typy pudełkowe Box‹dyn FnOnce›, Box‹dyn FnMut› i Box‹dyn Fn›;
  • Dodany okazja rzucanie domknięć na niebezpieczne wskaźniki funkcji (unsafe fn);
  • Zaimplementowano możliwość wywoływania makra „dbg!” bez argumentów do wyświetlania nazwy pliku i numeru linii w stderr bez sprawdzania zmiennej, co jest wygodne do debugowania operacji wyrażeń warunkowych;
  • Dodano metodę „ do typów zmiennoprzecinkowych f32 i f64kopiować» aby skopiować znak z jednej liczby na drugą;
  • Dodana metoda”zawiera„, co pozwala sprawdzić, czy podana wartość mieści się w zakresie;
  • Dodano metodę Ref:Komórka:map_split, umożliwiając odzwierciedlenie i oddzielenie pożyczonej wartości RefCell dla różnych składników pożyczonych danych;
  • Dodano metodę RefCell::replace_with aby zastąpić bieżącą wartość RefCell i w rezultacie zwrócić starą wartość;
  • Dodano metodę ptr::hasz haszować wskaźnik lub odwołanie poprzez adres, a nie adresowaną wartość;
  • Dodano metodę Opcja::skopiowane aby skopiować zawartość opcji Option‹&T› lub Option‹&mut T›;
  • Do kategorii stabilnej przeniesiono nową część API, obejmującą metody, które zostały ustabilizowane
    f32::kopiuj,
    f64::kopiuj,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Zakres::zawiera,
    ZakresOd::zawiera,
    ZakresDo::zawiera,
    ZakresInclusive::zawiera,
    RangeToInclusive::zawiera i
    Opcja::skopiowane;

  • Dodano kontrolę drop_bounds do Clippy (Linter), która jest wyzwalana po dodaniu powiązania „T: Drop” do funkcji;
  • Kompilator dodał obsługę nowej platformy docelowej
    wasm32-unknown-wasi (interfejs CZY BYŁEM aby korzystać z WebAssembly poza przeglądarką);

  • Zestaw narzędzi Rust jest przystosowany do dystrybucji opartych na standardowej bibliotece C Musl.

Źródło: opennet.ru

Dodaj komentarz