Coder Social home page Coder Social logo

Comments (4)

dtolnay avatar dtolnay commented on July 20, 2024

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.

rbtcollins avatar rbtcollins commented on July 20, 2024

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.

dtolnay avatar dtolnay commented on July 20, 2024

For migrating, they should patch in the PR from 3 years ago that makes the error-chain errors Sync. ;)

from anyhow.

rbtcollins avatar rbtcollins commented on July 20, 2024

OH! rust-lang-deprecated/error-chain#241 ta. Now to figure out the process to make that happen :).

from anyhow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.