-
Notifications
You must be signed in to change notification settings - Fork 133
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
Stable support #17
Comments
Good idea. I'm busy with other things at the moment, but I'll be happy to take a PR if it's not too intrusive. |
This has been rendered not possible for now due to a feature usage: https://github.com/lfairy/maud/blob/master/maud/src/lib.rs#L1 |
Specialize is expected to land eventually so this should be possible again within the next 18 weeks. :) |
@Hoverbear do you have a source for that? According to rust-lang/rust#31844 there's still a soundness hole in the implementation, and I don't think they'd stabilize before that gets fixed. |
Ah yes you're right! Darn. :( |
We probably want to skip straight to rust-lang/rust#38356 when that's ready. The library only uses specialization for optimizations, so it's harmless to remove that feature if need be. That might be useful if somehow procedural macros stabilize before specialization. |
proc-macro2 may help to remove the |
Macros 1.2 will stabilize function-like macros, but "only invoked in module contexts, not as expressions or inside functions." This rules out Maud for the time being, but is a step in the right direction nonetheless. |
I'm marking this as blocked for now, unless someone is determined enough to make this work as a build script 😛 |
Hey, this is still low priority thing? |
@madmaxio yes – nothing about the linked issues has changed since the last update. |
You are talking about things @Hoverbear listed, right? |
Hoverbear didn't list them (read the comment carefully), but yes 🙂 |
With proc macro hygiene almost certainly landing on stable in 1.45, is there any change this might be considered again? |
Proc macro thing go stable? Really? |
Yup! It's in FCP now. |
Thanks for the heads up @jhpratt! For some reason I wasn't subscribed to that tracking issue, so I almost missed it altogether. I think the next step is to scope out what is to be done. It's not as simple as removing a |
As promised, I've written up some tasks: https://github.com/lambda-fairy/maud/milestone/1 Feel free to take any of them! (But please comment on the issue if you do, so that other people know you're working on it.) That's not the complete list, but I think that's all that can be parallelized at this time. The remaining two items (translating errors to panics, migrating to |
0.22.1 works on stable. |
I (@lambda-fairy) am adopting the top comment to summarize the unstable features used in Maud. The original text can be found at the bottom of this comment.
Summary of unstable features:
proc_macro_hygiene
(Tracking issue for procedural macros and "hygiene 2.0" rust-lang/rust#54727)proc_macro_diagnostic
(Tracking Issue: Procedural Macro Diagnostics (RFC 1566) rust-lang/rust#54140)proc_macro_span
(Tracking issue forproc_macro::Span
inspection APIs rust-lang/rust#54725)specialization
(Tracking issue for specialization (RFC 1210) rust-lang/rust#31844)proc_macro_def_site
(Tracking issue forSpan::def_site()
rust-lang/rust#54724)proc_macro_quote
(Tracking issue for thequote!
macro inproc_macro
rust-lang/rust#54722)Original comment by Hoverbear:
Hey! You might be able to get this to work on stable with Syntex.
The text was updated successfully, but these errors were encountered: