update_cell 0.1.1

A Cell<Option<T>> that you can update
Documentation
# update_cell

A `Cell<Option<T>>` that you can update

## Why would I need this?

[`Cell::update`](https://doc.rust-lang.org/core/cell/struct.Cell.html#method.update)
only supports types that are `Copy`. So if you want to store and modify
something that is neither `Copy` nor has a `Default` (eg. a builder),
this crate might be useful.

## Usage

Add this to your `Cargo.toml`:

```toml
[dependencies]
update_cell = "0.1"
```

And if you have a struct, you can put it inside and modify it:

```rust
use update_cell::UpdateCell;

struct MySuperFancyStruct {
    inner: bool
}

impl MySuperFancyStruct {
    fn new() -> Self {
        Self { inner: false }
    }

    fn toggle(mut self) -> Self {
        self.inner = !self.inner;
        self
    }
}

let mut cell = UpdateCell::new(MySuperFancyStruct::new());
cell.update(|s| s.toggle());
```

License: MPL-2.0