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.
cfg per-PernyataanSalah 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.
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.
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.
Rust 1.93 juga menstabilkan sejumlah API yang berguna, termasuk:
MaybeUninit<T> seperti assume_init_ref, assume_init_mut, dan write_clone_of_sliceVec::into_raw_parts dan String::into_raw_parts untuk kontrol manual atas kepemilikan data mentahunchecked_shl, unchecked_shr, dll.) pada integerVecDeque dengan pop_front_if dan pop_back_ifchar::MAX_LEN_UTF8 dan char::MAX_LEN_UTF16 untuk manipulasi teksstd::fmt::from_fnDeveloper 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: