3 ms·
As I understand it, you can't disable just borrow checker somewhere where you don't need it.
by zzzcpan 10y ago
As I understand it, you can't disable just borrow checker somewhere where you don't need it.
- steveklabnik 10y agoIt's subtle. Unsafe Rust is a superset of safe Rust; that is, all valid safe Rust code is valid unsafe Rust code. fn foo() { unsafe { let x = &5; // this is still going to get borrow checked } } Since it's a superset, it gives you access to new tools, that don't interact with the borrow checker, rather than "turning the borrow checker off". fn foo() { unsafe { let x = *const 5; // this is not going to get borrow checked } }
- dbaupp 10y ago(*const is not valid syntax: the way to not-borrow something is to coerce/cast it to an unsafe pointer within the statement, so that the borrow ends at the ;, e.g. give x an explicit raw pointer type in the first example.)
- steveklabnik 10y agogah, i always mess this up, haha