Rust 1.78 został już wydany i oto jego nowości

rdzawe logo

Rust to wieloparadygmatowy, skompilowany język programowania ogólnego przeznaczenia.

Nowa wersja Rusta 1.78 została już wydana i wdrażane są nowe funkcje, a także stabilizacja niektórych interfejsów API, ulepszenia w Cargo i nie tylko.

Ci, którzy nie znają tego języka programowania, powinni o tym wiedzieć koncentruje się na bezpieczeństwie pamięci i zapewnia środki do osiągnięcia wysokiej równoległości zadań przy jednoczesnym uniknięciu korzystania z modułu wyrzucania elementów bezużytecznych i środowiska uruchomieniowego (czas działania jest ograniczony do podstawowej inicjalizacji i obsługi standardowej biblioteki).

Główne nowe funkcje Rust 1.78

W tej nowej wersji przedstawionej przez Rust 1.78 zwiększył swoje minimalne wymagania dla systemu Windows 10, Poza tym kompilator został zmieniony, aby używać LLVM 18. W przypadku korzystania z LLVM 18 dla architektur x86-32 i x86-64 zmieniono interfejs ABI powiązany z typami u128 i i128.

Jeśli chodzi o zmiany, jedną z wyróżniających się cech jest to, że rdza obsługuje teraz przestrzeń nazw atrybutów  «#[diagnoza]", co zapewnia możliwość wpływania na generowane komunikaty o błędach przez kompilator. Są one traktowane jako wskazówki, których kompilator nie musi używać, ani nie jest błędem zapewnienie diagnostyki, której kompilator nie rozpoznaje. Ten umożliwia kodowi źródłowemu zapewnienie diagnostyki, nawet jeśli nie są one obsługiwane przez wszystkie kompilatory, czy to różne wersje, czy zupełnie inne implementacje.

Ponadto, globalna pamięć podręczna została ustabilizowana w Cargo który przechowuje informacje o ostatnim wykorzystaniu danych. Ta skrytka znajduje się w $CARGO_HOME/.global-cache i używa SQLite do swojej implementacji. Aktualizuje się automatycznie, aby odzwierciedlić najnowsze zmiany w indeksie, pliku skrzyni, katalogu kodu, git clone i git checkout, poprawiając wydajność i szybkość operacji zarządzania zależnościami w projektach programistycznych.

Kolejną nową funkcją Rusta 1.78 jest to, że posiada ją standardowa biblioteka Rust Różne instrukcje dotyczące warunków wstępnych niebezpiecznych funkcji które można teraz odłożyć do czasu wygenerowania kodu. Umożliwia to przeprowadzenie tych kontroli historycznie były one włączone tylko w kompilacjach «#[cfg(debug_assertions)]» aby uniknąć wpływu na wydajność w wydanej wersji. Dzięki tej zmianie użytkownicy mogą teraz wykrywać niezdefiniowane zachowanie w swoim kodzie, chociaż szczegółowe informacje na temat zakresu sprawdzania nie są generalnie stabilne. Aby włączyć kontrole, wystarczy teraz włączyć potwierdzenia debugowania dla testów lub kompilacji debugowania kodu.

Oprócz tego teraz zachowanie standardowych funkcji bibliotecznych które wpływają na wyrównanie wskaźników i sektorów jest teraz przewidywalny w czasie wykonywania i zależy od danych wejściowych. Funkcja wskaźnik::align_offset, który oblicza przesunięcie w celu wyrównania wskaźnika, teraz powraca użyj::MAX tylko w przypadku niepowodzenia operacji. Funkcje plasterek::align_to i plasterek::align_to_mut, które przekształcają plasterki w reprezentację z wyrównanym środkowym plasterkiem oraz oryginalnymi plasterkami początkowym i końcowym, teraz zawsze zwracają największą część środkową.

Z drugiej strony się o tym wspomina Poniższe API zostały przeniesione do kategorii „stabilne”.: impl Odczyt &Stdin, impl From dla io::Błąd i wdrożenie impl co pozwala na wykorzystanie ?Rozmiar.

z Inne zmiany, które wyróżniają się tej nowej wersji:

  • Zaimplementowano drugi poziom obsługi platformy docelowej Add wasm32-wasip1. Drugi poziom wsparcia obejmuje gwarancję montażu.
  • Nazwę platformy wasm32-wasi-preview1-threads zmieniono na wasm32-wasip1-threads.
  • W menedżerze pakietów Cargo ustabilizowano wersję 4 plików blokujących (plik blokujący v4). Cargo używa teraz tej wersji jako standardu, aby zapewnić spójność i efektywne zarządzanie zależnościami pomiędzy projektami.

Jeżeli jesteś chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w poniższy link.

Na koniec dla tych, którzy są Zainteresowany aktualizacją z poprzedniej wersji Rust zainstalowana przez rustup, możesz pobrać nową wersję Rust 1.78 z:

rustup update stable

Jeśli nie masz jeszcze zainstalowanego Rusta w swoim systemie, możesz to zrobić, uruchamiając następującą komendę w terminalu:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh