use shared_type::{IntoShared, WithSharedInner};
fn main() {
let vec = vec![1, 2, 3];
let vec_shared = vec.into_shared();
vec_shared.with_inner(|vec| {
vec.push(4);
});
let result = vec_shared.with_inner(|vec| {
vec.push(5);
vec.len()
});
println!("vec_shared len: {}", result.unwrap());
let result = vec_shared.try_with_inner(|vec| {
vec.push(6);
vec.len()
});
println!("vec_shared len: {}", result.unwrap());
}