Björn Tantau@swg-empire.de to Programmer Humor@programming.dev · 2 days agoPretty straight forwardswg-empire.deexternal-linkmessage-square47fedilinkarrow-up1694arrow-down112file-text
arrow-up1682arrow-down1external-linkPretty straight forwardswg-empire.deBjörn Tantau@swg-empire.de to Programmer Humor@programming.dev · 2 days agomessage-square47fedilinkfile-text
minus-squareTraister101@lemmy.todaylinkfedilinkarrow-up1·1 day agoAh yes now I can… dereference a raw pointer (yes that’s essentially the only thing unsafe rust actually enables you to do, it doesn’t disable the borrow checker or anything else, it just allows you to play with pointers)
minus-squarecalcopiritus@lemmy.worldlinkfedilinkarrow-up1·1 day agounsafe fn<'a, T>(p: &'a T) -> &'static mut T { p as *cons T as *mut T as &'static mut T } It is a bit more than just dereferencing raw pointers.
Rust, to make it safe.
step 1:
unsafe fn()
…Ah yes now I can… dereference a raw pointer (yes that’s essentially the only thing unsafe rust actually enables you to do, it doesn’t disable the borrow checker or anything else, it just allows you to play with pointers)
unsafe fn<'a, T>(p: &'a T) -> &'static mut T { p as *cons T as *mut T as &'static mut T }
It is a bit more than just dereferencing raw pointers.