Comments (4)
I would prefer not to make a change for this; my best recommendation would be to not use error-chain. Non-sync errors are extremely unusual and it's a bug in error-chain that their errors are not sync. They decided more than 3 years ago to fix it and make sync errors but the library is not maintained enough to actually make that happen.
from anyhow.
So the issue is how to deal with it in two cases; for migrating a big-patch approach can be done, which is painful but fine. But for using anyhow with some other library that does use error-chain this then becomes a transitive problem. Similar bug was filed on failure rust-lang-deprecated/failure#284 :/. I agree with you that not using error-chain is ideal, but providing some migration path off of error-chain is desirable no? Right now if there are two crates A and B that both use error chain, and one uses the other, neither of them can convert to anyhow, because error-chain cannot convert from anyhow, and anyhow cannot convert from error-chain.
... or maybe using failure.SyncFailure is the thing to do?
from anyhow.
For migrating, they should patch in the PR from 3 years ago that makes the error-chain errors Sync. ;)
from anyhow.
OH! rust-lang-deprecated/error-chain#241 ta. Now to figure out the process to make that happen :).
from anyhow.
Related Issues (20)
- Nightly feature wrongly enabled on stable toolchain HOT 3
- Should `anyhow::Error::chain` return `dyn Error + Send + Sync` HOT 2
- Customize backtrace logic?
- `anyhow!(e)` doesn't preserve `source` for `&Error` HOT 1
- A way to disable anyhow stacktraces (without disabling stacktraces from other crates) HOT 2
- Default Ok-type to `()` in `anyhow::Result` typedef HOT 2
- Updating from version 1.0.76 breaks backtraces HOT 2
- Make backtrace support optional HOT 10
- Possible performance regression on Windows HOT 5
- as_ref() type must be known at this point
- Depending on `CARGO_ENCODED_RUSTFLAGS` may produce stale builds HOT 1
- rust-analyzer nightly throws needless_return warning on bail! HOT 2
- Implement Context for Error
- Question regarding stacktrace
- anyhow::Error to Box<dyn Error> isn't compatible with other libraries HOT 2
- Are you open to de-duplicating the build.rs build probe code? HOT 7
- `anyhow::ensure!` doesn't work with custom error type HOT 1
- Short backtrace HOT 2
- Feature suggestion: ensure_some!() for unwrapping options HOT 3
- Cannot compile when using `ensure!` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anyhow.