use unsaferef::UnsafeRef;
fn main() {
let data = String::from("Hello, world!");
// SAFETY: `data` is alive as long as `r` is in use
let r: UnsafeRef<String> = unsafe {
UnsafeRef::new(&data)
};
assert_eq!(*r, "Hello, world!");
drop(data)
}
UnsafeRef
supports no-std::no-alloc
.
On alloc
feature ( default ), unsaferef additionally provides UnsafeCow
, an unsafe Clone-on-Write container without explicit lifetime.
unsaferef is licensed under MIT LICENSE ( LICENSE or https://opensource.org/licenses/MIT ).