Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[breaking] Remove anyhow from default features #136

Open
LeoniePhiline opened this issue Dec 20, 2023 · 3 comments
Open

[breaking] Remove anyhow from default features #136

LeoniePhiline opened this issue Dec 20, 2023 · 3 comments
Labels
breaking change Non-urgent breaking changes, probably delay to the next release

Comments

@LeoniePhiline
Copy link
Contributor

#131 introduces a new anyhow default feature flag to allow users to hide aliased exports such as eyre::Error and eyre::Context.

This issue tracks the removal of anyhow from the list of default features, making the compatibility layer with the anyhow crate opt-in.

@LeoniePhiline
Copy link
Contributor Author

LeoniePhiline commented Jan 23, 2024

Update: This change is planned to go into the next breaking release, since introducing a (default) anyhow feature flag ended up being an unintended breaking change.

@ten3roberts responded to my question "Since it's a breaking change anyway, shall we then remove it from default features right away?" with:

Absolutely, that would be great.

It would further go into our intents of making the error wrapping represent a logical error chain, rather than context attached to an error. The anyhow compatibility has unfortunately incentivized the latter approach where through API naming the error chains are treated like context stores where you can interpolate arbitrary data, such as usernames or other variables.

Making it opt-in would thus be awesome, and push towards a more descriptive chain of errors.

Do you mind opening a PR with a short explanation in the Readme of what it means and how to opt in/how it compares to anyhow?

@LeoniePhiline
Copy link
Contributor Author

Status: Waiting for #149 due to some thematic overlap.

LeoniePhiline added a commit to LeoniePhiline/eyre that referenced this issue Jun 28, 2024
[eyre-rs#131][131] introduced a new anyhow default
feature flag to allow users to hide
aliased exports such as `eyre::Error`
and `eyre::Context`.

This changeset removes `anyhow` from the list
of default features, making the compatibility
layer with the anyhow crate opt-in.

Implements [eyre-rs#136][136]

[131]: eyre-rs#131
[136]: eyre-rs#136

BREAKING CHANGE: Removing a default feature is
                 a breaking change.
LeoniePhiline added a commit to LeoniePhiline/eyre that referenced this issue Jul 11, 2024
[eyre-rs#131][131] introduced a new anyhow default
feature flag to allow users to hide
aliased exports such as `eyre::Error`
and `eyre::Context`.

This changeset removes `anyhow` from the list
of default features, making the compatibility
layer with the anyhow crate opt-in.

Implements [eyre-rs#136][136]

[131]: eyre-rs#131
[136]: eyre-rs#136

BREAKING CHANGE: Removing a default feature is
                 a breaking change.
@LeoniePhiline
Copy link
Contributor Author

Status: The previous blocker #149 has been merged. #180 is ready for review and merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change Non-urgent breaking changes, probably delay to the next release
Projects
None yet
Development

No branches or pull requests

2 participants