Pointer dereference desugaring
⚓ Rust 📅 2025-09-30 👤 surdeus 👁️ 6Some unsafe code that dereferences a raw pointer is equivalent to code using pointer methods:
- 
unsafe { *ptr }is the same asunsafe { ptr.read() }
- 
unsafe { *ptr = v; }is the same asunsafe { ptr.drop_in_place(); ptr.write(v); }
- 
&*ptrisptr.as_ref().unwrap_unchecked()
- 
&mut *ptrisptr.as_mut().unwrap_unchecked()
But I wonder if &mut (*ptr).field has an exact equivalent using methods, and more generally what syntactic patterns don't.
2 posts - 2 participants
🏷️ Rust_feed