A crate prelude containing common macros and traits can be imported
via use snafu::prelude::*.
A ready-to-use error type Whatever is available to quickly start
reporting errors with little hassle.
"Stringly typed" error cases can be added to existing error types,
allowing you to construct errors without defining them first.
Formatting shorthand syntax for error type data fields is now supported:
#[snafu(display("Hello {name}"))].
[snafu(module)] can be specified on an error type. This will
create a module for the error type and all associated context
selectors will be placed in that module.
snafu::Location can be added to an error type to provide
lightweight tracking of the source location where the error was
created.
[snafu(implicit)] can be specified on context selector data fields
to automatically generate it via snafu::GenerateImplicitData when
the error is created.
ErrorCompat::iter_chain provides an iterator over the list of
causal errors.
Changed
Generated context selectors now have the suffix Snafu. This is a
breaking change.
ResultExt::with_context, TryFutureExt::with_context, and
TryStreamExt::with_context now pass the error into the
closure. This is a breaking change.
The GenerateBacktrace trait has been split into
GenerateImplicitData and AsBacktrace. This is a breaking
change.
Rust 1.34 is now the minimum supported Rust version. This is a
breaking change.
Removed
String attribute parsing (#[snafu(foo = "...")]) is no longer
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps snafu from 0.6.10 to 0.7.0.
Changelog
Sourced from snafu's changelog.
... (truncated)
Commits
a6aff99
Release 0.7.0f16bb4c
Merge pull request #319 from shepmaster/trybuild1865e17
Update tests for newer version of trybuildb4cdc99
Merge pull request #317 from shepmaster/docsc694dfa
Document thatError
is removed before making selector names321d6a4
Sync up changelog and upgrading guide86fabf9
Minor doc tweaksb314d3e
Release 0.7.0-beta.2caece50
Update the changeloge846c56
Merge pull request #295 from SamWilsn/derive-with-moduleDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)