evobox 0.1.1

A pointer type which allows for safe transformations of its content without reallocation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Evobox

A pointer type which allows for safe transformations of its content without reallocation.
This crate does not depend on the standard library, and can be used in `#![no_std]` contexts.
It does however require the `alloc` crate.

## Examples

```rust
use evobox::{EvolveBox, L};

let s: EvolveBox<L<&str, L<String, L<u32>>>> = EvolveBox::new("7");
let owned = s.evolve(|v| v.to_string());
assert_eq!(owned.as_str(), "7");

let seven = owned.try_evolve(|s| s.parse()).expect("invalid integer");
assert_eq!(*seven, 7);
```