advanced
Implementasi Struktur Data Linked List di Rust dengan Pointer Raw
Memahami manajemen memori manual dan unsafe code dalam Rust.
📝 Prompt İçeriği
Tuliskan implementasi Doubly Linked List di Rust tanpa menggunakan `Rc<RefCell>` atau `Box` standar untuk node, melainkan menggunakan pointer mentah (raw pointers) di dalam blok `unsafe`. Anda harus menangani alokasi dan dealokasi memori secara manual menggunakan `alloc` dan `dealloc` dari alokator global. Jelaskan secara rinci bagaimana Anda memastikan invarian keamanan memori Rust (seperti aturan borrowing dan tidak adanya data races) tetap terjaga meskipun menggunakan kode `unsafe`, dan jelaskan bagaimana Anda mengimplementasikan `Drop` trait untuk mencegah kebocoran memori.