advanced
Rust Borrow Checker Analysis
Analyze and fix complex Rust memory safety issues.
📝 Prompt Inhoud
Analyze the following Rust pseudo-code scenario involving a doubly-linked list implementation using raw pointers within an 'unsafe' block. Identify the specific potential causes of undefined behavior, data races, or memory leaks based on Rust's ownership model. Rewrite the logic to use only safe Rust where possible, utilizing 'Rc<RefCell>' or 'Arc<Mutex>' if necessary, but strive for zero-cost abstractions. Explain how the Borrow Checker rules apply to your refactored solution and discuss the performance implications of your chosen synchronization primitives.