Rust 1.93 Dirilis dengan Peningkatan Inline Assembly, Update musl libc, dan API Baru yang Distabilkan

Rust 1.93 Dirilis dengan Peningkatan Inline Assembly, Update musl libc, dan API Baru yang Distabilkan

Pemrograman Rust

Tim pengembang Rust resmi merilis versi stabil terbaru bahasa pemrograman sistem andalan developer modern: Rust 1.93.0. Rilis kali ini membawa sejumlah peningkatan signifikan, mulai dari dukungan lebih fleksibel untuk inline assembly, pembaruan kritis pada pustaka musl-C, hingga stabilisasi sejumlah API penting yang telah lama dinantikan komunitas.

Inline Assembly Kini Lebih Fleksibel dengan cfg per-Pernyataan

Salah satu fitur paling menonjol dalam Rust 1.93 adalah peningkatan tata kelola inline assembly melalui makro asm!. Sebelumnya, atribut #[cfg(...)] hanya bisa diterapkan pada seluruh blok asm!, memaksa developer untuk menduplikasi kode jika ingin mengaktifkan atau menonaktifkan bagian tertentu berdasarkan target arsitektur atau fitur CPU. Di versi 1.93, atribut cfg kini dapat diterapkan langsung pada tiap pernyataan individual dalam blok assembly.

Perubahan ini sangat bermanfaat bagi proyek-proyek sistem tingkat rendah, seperti kernel, driver, atau runtime, yang memerlukan optimasi spesifik per platform tanpa mengorbankan kebersihan dan keterbacaan kode.

musl libc Diperbarui ke Versi 1.2.5

Rust 1.93 juga memperbarui pustaka C ringan musl yang digunakan oleh target *-linux-musl (seperti x86_64-unknown-linux-musl) dari versi 1.2.3 ke 1.2.5. Pembaruan ini terutama ditujukan untuk meningkatkan keandalan resolver DNS, terutama dalam skenario static linking yang umum digunakan untuk membuat binari Linux yang portabel.

Versi musl 1.2.4 dan 1.2.5 membawa perbaikan besar pada penanganan catatan DNS besar dan interaksi dengan nameserver rekursif, masalah yang kerap menyebabkan kegagalan jaringan pada aplikasi statis. Namun, perlu dicatat bahwa musl 1.2.4 juga menghapus beberapa simbol kompatibilitas lama. Untungnya, crate libc Rust telah menyesuaikan diri sejak versi 0.2.146 (Juni 2023), sehingga ekosistem Rust dianggap siap untuk perubahan ini.

Global Allocator Kini Bisa Gunakan Thread-Local Storage

Peningkatan internal lainnya memungkinkan global allocator yang ditulis dalam Rust untuk menggunakan fitur seperti thread_local! dan std::thread::current tanpa risiko re-entrancy. Hal ini dicapai dengan sementara beralih ke system allocator saat alokasi terjadi, memberikan fleksibilitas lebih besar bagi implementasi alokator kustom.

Stabilisasi API Penting

Rust 1.93 juga menstabilkan sejumlah API yang berguna, termasuk:

  • Metode baru pada MaybeUninit<T> seperti assume_init_ref, assume_init_mut, dan write_clone_of_slice
  • Vec::into_raw_parts dan String::into_raw_parts untuk kontrol manual atas kepemilikan data mentah
  • Operasi bitwise tak terperiksa (unchecked_shl, unchecked_shr, dll.) pada integer
  • Ekstensi pada VecDeque dengan pop_front_if dan pop_back_if
  • Konstanta char::MAX_LEN_UTF8 dan char::MAX_LEN_UTF16 untuk manipulasi teks
  • Utilitas format baru: std::fmt::from_fn

Cara Memperbarui

Developer yang sudah menggunakan Rust melalui rustup dapat langsung memperbarui ke versi 1.93.0 dengan perintah:

rustup update stable

Bagi yang belum menginstal Rust, kunjungi https://www.rust-lang.org/ untuk memulai.

Dengan rilis ini, Rust sekali lagi menegaskan komitmennya terhadap keseimbangan antara performa, keamanan memori, dan ergonomi—menjadikannya pilihan utama untuk pengembangan sistem modern, infrastruktur cloud, dan aplikasi berkinerja tinggi.

Sumber:

Tambah komentar

Previous Post Next Post