out-reference

Crates.ioout-reference
lib.rsout-reference
version0.2.0
sourcesrc
created_at2019-01-09 20:01:06.004777
updated_at2021-01-20 15:26:44.723658
descriptionout references
homepage
repository
max_upload_size
id107661
size6,753
(RustyYato)

documentation

README

out-ref

This crate brings out references to Rust, this crate has no_std support Out reference never read values behind the reference

use out_reference::*;

let mut x = 0;

let mut out_x: Out<'_, u32> = x.out();
out_x.set(10);

assert_eq!(x, 10);

Note that setting a value does not drop the old value, as that would require at least 1 read of the value behind the pointer

So, the code below leaks the vector

use out_reference::*;

let mut x = vec![0, 1, 2];

let mut out_x: Out<'_, Vec<u32>> = x.out();
out_x.set(vec![]);

assert_eq!(x, vec![]);
Commit count: 0

cargo fmt