Back Rust types with shared memory and send them cheaply between processes.
For example
```rust use sharify::SharedMut; use std::{iter, sync::mpsc::channel, thread};
// Create a slice backed by shared memory. let mut sharedslice: SharedMut<[u64]> = SharedMut::new(&(0, 1000_000))?;
// Write some data to it. for (src, dst) in iter::successors(Some(0), |&p| Some(p + 1)) .zip(sharedslice.asviewmut().itermut()) { *dst = src; }
// The shared slice can be sent between processes cheaply without copying the data. What is shown here for threads works equally well for processes, e.g. using the ipcchannel crate.
let (tx, rx) = channel::
See the docs for details on how to do this for your own types. Requires at least Rust 1.51.0
due to the use of const generics.