lazy-into 0.2.0

Lazy conversion from one type to another
Documentation
# Lazy Into

Lazy conversion from one type to another in Rust.

Converts from types T to U with a mapping function that is only called the first time it's needed.

# Usage

This is useful when you have an expensive conversion that may not even be needed.

---

For example, if you have a CLI app that parses deep into JSON data that the user can see by typing "data", a `LazyInto` could be useful.

If the user never says "data", the search is not needed.

If the user says "data" multiple times, the search is only needed once.

A regular `LazyCell` can not take input parameters.

# Example Usage

```rust
fn main() {
    use lazy_into::LazyInto;

    let a = LazyInto::new(42, |n| n as f64 * 2.0);
    let b = LazyInto::new(21, TryInto::try_into);
    let mut c = LazyInto::new(-1, |n| n.to_string());

    assert_eq!(a.get(), &84.0);
    assert_eq!(*a, 84.0);
    assert_eq!(*b, Ok(21u32));

    assert_eq!(*c, "-1");
    c.get_mut().push_str("2345");
    assert_eq!(*c, "-12345");
}
```