-
Notifications
You must be signed in to change notification settings - Fork 35
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
Reimplement as procedural macro? #42
Comments
Hi! While I have nostalgia to the quick-error I don't think it makes sense to continue developing the crate. Using derives and attributes like in Also, given the trade-off we've made here because of the limitations of macros and because major version bump is needed anyway, the new library can be designed from the ground up wih nicer syntax and modern semantics. |
Fair enough. I understand. I just personally dislike I hope that whatever makes it to the stdlib in the future is a good replacement in the same minimalist spirit. Do you, by any chance, know where activity about these "current attempts" at improving error handling is happening? Could you point me to the right place? Maybe I could contribute. |
Yes, there is an issue about it. Maybe you can upvote it or maybe
It's only if you use
Perhaps, this is the right entry point. |
quick-error
is by far my preferred error handling solution in Rust. I like it more thanfailure
orerror-chain
. However, it is a shame that its functionality is limited due to limitations of themacro_rules
syntax. For example: lack of generics support (issue #20). Also: poor error messages.I believe these issues could be resolved if
quick_error
was implemented as a procedural macro, which is now stable as of Rust 1.30. This would greatly improve the usefulness of the crate, at least for projects that don't mind the 1.30 minimum Rust version requirement.It could be released as a new semver-incompatible version to avoid bumping the minimum Rust requirement of old code that depends on this crate to 1.30 due to automatic upgrade.
The text was updated successfully, but these errors were encountered: