Rilis Bahasa Pemrograman Rust 1.35

ambil tempat rilis bahasa pemrograman sistem Karat 1.35, dikembangkan oleh proyek Mozilla. Bahasa ini berfokus pada keamanan memori, menyediakan manajemen memori otomatis, dan menyediakan sarana untuk mencapai paralelisme tugas yang tinggi tanpa menggunakan pengumpul sampah atau runtime.

Manajemen memori otomatis Rust membebaskan pengembang dari manipulasi penunjuk dan melindungi dari masalah yang timbul dari manipulasi memori tingkat rendah, seperti akses memori setelah bebas, dereferensi penunjuk nol, buffer overruns, dan sejenisnya. Manajer paket sedang dikembangkan untuk mendistribusikan perpustakaan, memastikan perakitan dan mengelola ketergantungan oleh proyek. Muatan, memungkinkan Anda mendapatkan perpustakaan yang diperlukan untuk program dalam satu klik. Repositori didukung untuk menghosting perpustakaan peti.io.

Utama inovasi:

  • Sifat-sifat Sekali, FnMut ΠΈ Fn diimplementasikan untuk dialokasikan ke heap tipe kotak Kotakβ€Ήdyn FnOnceβ€Ί, Kotakβ€Ήdyn FnMutβ€Ί dan Kotakβ€Ήdyn Fnβ€Ί;
  • Ditambahkan kesempatan memberikan penutupan ke penunjuk fungsi yang tidak aman (fn tidak aman);
  • Menerapkan kemampuan untuk memanggil makro β€œdbg!” tanpa argumen untuk menampilkan nama file dan nomor baris di stderr tanpa memeriksa variabel, yang memudahkan untuk men-debug pengoperasian ekspresi kondisional;
  • Menambahkan metode " ke tipe floating point f32 dan f64tanda copyΒ» untuk menyalin karakter dari satu nomor ke nomor lainnya;
  • Metode yang ditambahkan "mengandungβ€œ, yang memungkinkan Anda memeriksa apakah nilai yang ditentukan berada dalam rentang;
  • Metode tambahan Ref:Sel:map_split, memungkinkan Anda mencerminkan dan memisahkan nilai RefCell yang dipinjam untuk berbagai komponen data yang dipinjam;
  • Metode tambahan RefCell::replace_with untuk mengganti nilai RefCell saat ini dan mengembalikan nilai lama sebagai hasilnya;
  • Metode tambahan ptr::hash untuk melakukan hash pada penunjuk atau referensi berdasarkan alamat, bukan nilai yang dialamatkan;
  • Metode tambahan Opsi::disalin untuk menyalin konten opsi Optionβ€Ή&Tβ€Ί atau Optionβ€Ή&mut Tβ€Ί;
  • Sebagian API baru telah dipindahkan ke kategori stabil, termasuk metode yang telah distabilkan
    f32::tanda tangan salinan,
    f64::tanda tangan salinan,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Kisaran::berisi,
    RangeFrom::berisi,
    RangeTo::berisi,
    RentangInklusif::berisi,
    RangeToInclusive::berisi dan
    Opsi::disalin;

  • Menambahkan tanda centang drop_bounds ke clippy (linter), yang dipicu saat menambahkan pengikatan β€œT: Drop” ke fungsi;
  • Kompiler telah menambahkan dukungan untuk platform target baru
    wasm32-unknown-wasi (antarmuka WSASI untuk menggunakan WebAssembly di luar browser);

  • Toolkit Rust diadaptasi untuk distribusi berdasarkan perpustakaan C standar Musl.

Sumber: opennet.ru

Tambah komentar