failure 0.1.4

Experimental error handling abstraction.
# Version 0.1.3

- Added `Context::map`
- Fixed a memory leak for older rust versions on error downcast

# Version 0.1.2

The original plan to release 1.0.0 was changed so that version 0.1.1 is released and a related [RFC to fix the error trait]( is submitted. See README for details.

- Fix `failure_derive` to work with Rust 2018.
- Add `#[fail(cause)]` that works similarly with `#[cause]`. The new form is preferred.
- Fix `"backtrace"` feature to work without `"std"` feature.
- Add `Compat::get_ref`.
- Add `Fallible`.
- Deprecate `Fail::causes` and `<dyn Fail>::causes` in favor of newly added `<dyn Fail>::iter_causes`.
- Deprecate `Fail::root_cause` and `<dyn Fail>::root_cause` in favor of newly added `<dyn Fail>::find_root_cause`.
- Add `<dyn Fail>::iter_chain`.
- Implement `Box<Fail>: Fail`.
- Add `Error::from_boxed_compat`.
- Deprecate `Error::cause` in favor of newly added `Error::as_fail`.
- Deprecate `Error::causes` in favor of newly added `Error::iter_chain`.
- Deprecate `Error::root_cause` in favor of newly added `Error::find_root_cause`.
- Add `Error::iter_causes`.
- Implement `Error: AsRef<Fail>`.
- Fix `Debug` implementation of `SyncFailure`.

# Version 0.1.1

- Add a `Causes` iterator, which iterates over the causes of a failure. Can be
  accessed through the `Fail::causes` or `Error::causes` methods.
- Add the `bail!` macro, which "throws" from the function.
- Add the `ensure!` macro, which is like an "assert" which throws instead of
- The derive now supports a no_std mode.
- The derive is re-exported from `failure` by default, so that users do not
  have to directly depend on `failure_derive`.
- Add a impl of `From<D> for Context<D>`, allowing users to `?` the `D` type to
  produce a `Context<D>` (for cases where there is no further underlying

# Version 0.1.0

- Initial version.