Basa pemrograman Rust 1.69 release

Basa pemrograman tujuan umum Rust 1.69, didegaké déning proyèk Mozilla nanging saiki dikembangaké ing sangisoré organisasi nirlaba independen Rust Foundation, wis dirilis. Basa kasebut fokus ing safety memori lan nyedhiyakake sarana kanggo nggayuh paralelisme proyek sing dhuwur nalika ngindhari panggunaan kolektor sampah lan runtime (runtime dikurangi dadi initialization dhasar lan pangopènan perpustakaan standar).

Cara nangani memori Rust nylametake pangembang saka kesalahan nalika manipulasi penunjuk lan nglindhungi masalah sing muncul amarga penanganan memori tingkat rendah, kayata ngakses area memori sawise dibebasake, null pointer dereferencing, overruns buffer, etc. Kanggo nyebarake perpustakaan, nyedhiyakake mbangun lan ngatur dependensi, proyek kasebut ngembangake manajer paket Cargo. Repositori crates.io didhukung kanggo hosting perpustakaan.

Keamanan memori diwenehake ing Rust ing wektu kompilasi liwat mriksa referensi, nglacak kepemilikan obyek, nglacak umur obyek (skop), lan netepake akurasi akses memori sajrone eksekusi kode. Rust uga menehi pangayoman marang overflows integer, mbutuhake initialization prentah saka nilai variabel sadurunge nggunakake, Ngalahake kasalahan luwih apik ing perpustakaan standar, ditrapake konsep referensi immutable lan variabel minangka standar, nawakake typing statis kuwat kanggo nyilikake kasalahan logis.

Inovasi utama:

  • Manager paket Cargo ngleksanakake deteksi bebaya sing bisa ditanggulangi kanthi otomatis, lan output saka Rekomendasi cocok kanggo mlaku "cargo fix" utawa "cargo clippy -fix". peringatan: impor sing ora dienggo: 'std:: hash:: Hash' —> src/main.rs:1:5 | 1 | nggunakake std:: hash:: Hash; | ^^^^^^^^^^^^^^^^^ | = note: '#[warn(unused_imports)]' on by default warning: 'foo' (bin "foo") ngasilake 1 warning (run 'cargo fix —bin "foo"' kanggo ngetrapake 1 saran)
  • Kargo wis nambahake output rekomendasi kanggo nggunakake printah "tambah kargo" nalika nyoba nginstal perpustakaan kanthi printah "instal kargo".
  • Kanggo nyuda wektu kompilasi, kalebu informasi debugging ing skrip mbangun wis mandheg kanthi standar. Yen skrip mbangun kasil, owah-owahan ora bakal nyebabake beda sing katon, nanging yen gagal, mbucal traceback bakal ngemot informasi sing kurang. Kanggo ngasilake prilaku lawas menyang Cargo.toml sampeyan kudu nambah: [profile.dev.build-override] debug = bener [profile.release.build-override] debug = bener
  • Bagean anyar saka API wis dipindhah menyang kategori stabil, kalebu cara lan implementasine sifat wis stabil:
    • CStr::from_bytes_until_nul
    • inti ::ffi::FromBytesUntilNulError
  • Atribut "const", sing nemtokake kemungkinan nggunakake ing sembarang konteks tinimbang konstanta, digunakake ing fungsi:
    • SocketAddr:: anyar
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4:: anyar
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6:: anyar
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Nambahake kemampuan kanggo nggunakake panji bener lan palsu ing argumen kompiler.

Source: opennet.ru

Add a comment