-
Notifications
You must be signed in to change notification settings - Fork 13.3k
macros cannot be marked with stability attributes #17316
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
Comments
@vberger are you interested in looking into this? I'd be glad to provide help, but I probably won't have time to look into it myself for a little while. |
@aturon It looks indeed interesting. But to be honest I have no idea where to start... |
(The issue is that right now we cannot add macros to the prelude and mark them as experimental; once a macro is added to the prelude, right now if we released like that, we would be stuck supporting it forever.) However, @alexcrichton says there are not many macros that we are planning to add to the prelude anyway, so the need for this is not very high. Assigning P-high, not 1.0 milestone. |
I started digging back into this. I see two steps:
The first part is pretty easy (I managed doing it by simply printing the appropriate The second point is the real issue. When But macro expansion is processed in phase 2 of compilation, while the building of the stability index used by the lint is made in phase 3. So we must either do the stability checking at the same time as macro expansion, or find a way to make macro stability information available to the stability index. What do you think ? |
Traige: as @pnkfelix mentions, this isn't a big deal for the standard library. Plus, stability attributes aren't currently used by any non-stdlib crates, making this a further non-issue. However, a future ecosystem stability system would have to take this into account. |
Given that this would be a concern of an RFC for the external stability system, I'm giving it a close. |
No description provided.
The text was updated successfully, but these errors were encountered: