2 releases

0.0.2 Feb 4, 2024
0.0.1 Feb 4, 2024

#988 in Concurrency

MIT license

3.5MB
10K SLoC

C++ 10K SLoC // 0.1% comments Rust 607 SLoC // 0.1% comments C# 190 SLoC // 0.4% comments Shell 15 SLoC

let string = CownPtr::new(String::new());
let vec = CownPtr::new(Vec::new());

when(&string, |mut s| {
    assert_eq!(&*s, "");
    s.push_str("foo");
});
when(&vec, |mut v| {
    assert_eq!(&*v, &[]);
    v.push(101);
});
when2(&string, &vec, |mut s, mut v| {
    assert_eq!(&*s, "foo");
    assert_eq!(&*v, &[101]);
    s.push_str("bar");
    v.push(666);
});

when(&string, |s| assert_eq!(&*s, "foobar"));
when(&vec, |v| assert_eq!(&*v, &[101, 666]));

Current Status

This is a research project, and is at an early stage of development. It is not ready for use outside of research.

Restrictions:

  1. Don't leak threads: When the main thread finishes, all other threads shut down. If you've accessed verona-rt resources in other threads, you'll have a bad time.

Current Status

This is a research project, and is at an early stage of development. It is not ready for use outside of research.

Dependencies