1 unstable release
0.1.0 | Sep 28, 2024 |
---|
#1885 in Rust patterns
8KB
154 lines
unsaferef
An unsafe reference without explicit lifetimeExample
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)
}
no-std and cow
UnsafeRef
supports no-std::no-alloc
.
On alloc
feature ( default ), unsaferef additionally provides UnsafeCow
, an unsafe Clone-on-Write container without explicit lifetime.
License
unsaferef is licensed under MIT LICENSE ( LICENSE or https://opensource.org/licenses/MIT ).