Rust programlama dili 1.69 sürümü

Mozilla projesi tarafından kurulan ancak şu anda kar amacı gütmeyen bağımsız bir kuruluş olan Rust Foundation'ın himayesinde geliştirilen Rust 1.69 genel amaçlı programlama dilinin sürümü yayınlandı. Dil, bellek güvenliğine odaklanır ve bir çöp toplayıcı ve çalışma zamanı kullanımından kaçınırken yüksek iş paralelliği elde etmenin yollarını sağlar (çalışma zamanı, standart kitaplığın temel başlatma ve bakımına indirgenir).

Rust'ın bellek işleme yöntemleri, geliştiriciyi işaretçileri işlerken hatalardan korur ve serbest bırakıldıktan sonra bir bellek alanına erişme, boş işaretçilerin başvurusunu kaldırma, arabellek taşmaları vb. gibi düşük seviyeli bellek manipülasyonundan kaynaklanan sorunlara karşı koruma sağlar. Kitaplıkları dağıtmak, derlemeler sağlamak ve bağımlılıkları yönetmek için proje Kargo paketi yöneticisini geliştirir. Crates.io deposu kitaplıkları barındırmak için desteklenir.

Rust'ta bellek güvenliği, derleme zamanında referans kontrolü, nesne sahipliğinin izlenmesi, nesne ömürlerinin (kapsamların) izlenmesi ve kod yürütme sırasında bellek erişiminin doğruluğunun değerlendirilmesi yoluyla sağlanır. Rust ayrıca tamsayı taşmalarına karşı koruma sağlar, kullanımdan önce değişken değerlerinin zorunlu olarak başlatılmasını gerektirir, standart kitaplıkta hataları daha iyi işler, değişmez referanslar ve değişkenler kavramını varsayılan olarak uygular, mantıksal hataları en aza indirmek için güçlü statik yazım sunar.

Ana yenilikler:

  • Kargo paketi yöneticisi, otomatik olarak çözülebilecek uyarıların tespitini ve "kargo düzeltme" veya "kargo kırpma --fix" çalıştırmaya yönelik uygun önerileri uygular. uyarı: kullanılmayan içe aktarma: 'std::hash::Hash' —> src/main.rs:1:5 | 1 | std::hash::Hash; kullanın | ^^^^^^^^^^^^^^^ | = not: '#[warn(unused_imports)]' varsayılan olarak açık uyarı: 'foo' (bin "foo") 1 uyarı oluşturdu (1 öneriyi uygulamak için 'cargo fix --bin "foo"' komutunu çalıştırın)
  • "Cargo install" komutuyla bir kütüphane kurmaya çalışırken "cargo add" komutunu kullanma önerisini görüntülemek için Cargo eklendi.
  • Derleme süresini kısaltmak için derleme komut dosyalarındaki hata ayıklama bilgileri varsayılan olarak devre dışı bırakılmıştır. Derleme komut dosyaları başarıyla çalıştırılırsa değişiklik gözle görülür bir fark yaratmaz, ancak başarısız olursa geri izleme dökümü daha az bilgi içerecektir. Eski davranışı Cargo.toml'a döndürmek için şunu ekleyin: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • API'nin yeni bir bölümü kararlı kategorisine taşındı ve özelliklerin yöntemleri ve uygulamaları kararlı hale getirildi:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • Sabitler yerine herhangi bir bağlamda kullanılma olasılığını belirleyen "const" niteliği işlevlerde kullanılır:
    • SocketAddr::yeni
    • SocketAddr::ip
    • SocketAddr::bağlantı noktası
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::yeni
    • SocketAddrV4::ip
    • SocketAddrV4::bağlantı noktası
    • SocketAddrV6::yeni
    • SocketAddrV6::ip
    • SocketAddrV6::bağlantı noktası
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Derleyici bağımsız değişkenlerinde doğru ve yanlış bayrakları kullanma yeteneği eklendi.

Kaynak: opennet.ru

Yorum ekle