Skip to content

ohkami-rs/unsaferef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unsaferef

An unsafe reference without explicit lifetime

License CI status crates.io

Example

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 ).

About

An unsafe reference without explicit lifetime

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages