Skip to content

rustc: Stabilize the proc_macro feature #38783

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Jan 4, 2017

Conversation

alexcrichton
Copy link
Member

This commit stabilizes the proc_macro and proc_macro_lib features in the
compiler to stabilize the "Macros 1.1" feature of the language. Many more
details can be found on the tracking issue, #35900.

Closes #35900

This commit stabilizes the `proc_macro` and `proc_macro_lib` features in the
compiler to stabilize the "Macros 1.1" feature of the language. Many more
details can be found on the tracking issue, rust-lang#35900.

Closes rust-lang#35900
@rust-highfive
Copy link
Contributor

r? @aturon

(rust_highfive has picked a reviewer for you, use r? to override)

@steveklabnik
Copy link
Member

🎊🎉

@alexcrichton alexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 2, 2017
@abonander
Copy link
Contributor

#[proc_macro_attribute] uses the proc_macro feature flag AFAICT; we don't want to stabilize a feature that's not even implemented yet, right? Is anyone working on that? If not, I've started tinkering with it.

@nikomatsakis
Copy link
Contributor

@bors r+

@nikomatsakis
Copy link
Contributor

@bors r-

@nikomatsakis
Copy link
Contributor

@abonander raises a good point! :) @alexcrichton, are there other users of proc_macro feature flag getting a free pass here?

@alexcrichton
Copy link
Member Author

@abonander to clarify, is that implemented? I couldn't find proc_macro_attribute in the code base currently at least...

@nikomatsakis AFAIK nothing else is, no

@abonander
Copy link
Contributor

I've started tinkering on it because I'd like to experiment with the feature. It actually looks pretty straightforward, mostly just copying custom derive.

@alexcrichton
Copy link
Member Author

@abonander I'm still a little confused? I haven't been following all the proc-macro business that closely. What is proc_macro_attribute? Is it implemented today? Does this PR need to change?

@abonander
Copy link
Contributor

rust-lang/rfcs#1566

It is not currently supported in the compiler, though the pieces are (mostly) there. I'd have to read over the RFC again but I don't think it uses its own feature flag, though that can be changed trivially.

@alexcrichton
Copy link
Member Author

Ok, sounds like that can just have a new feature gate if it isn't already implemented? I'm sort of confused, does this PR need to change?

@abonander
Copy link
Contributor

I don't think so, we just need to make sure the feature gate for the other two proc macro kinds is different.

@nikomatsakis
Copy link
Contributor

@bors r+ p=1

@bors
Copy link
Collaborator

bors commented Jan 4, 2017

📌 Commit 045f8f6 has been approved by nikomatsakis

@nikomatsakis nikomatsakis added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jan 4, 2017
@nikomatsakis
Copy link
Contributor

Marking as beta-accepted. The whole point is to backport this -- and anyway it's 99% marking stuff stable.

cc @rust-lang/compiler

@bors
Copy link
Collaborator

bors commented Jan 4, 2017

⌛ Testing commit 045f8f6 with merge 95b14a3...

bors added a commit that referenced this pull request Jan 4, 2017
rustc: Stabilize the `proc_macro` feature

This commit stabilizes the `proc_macro` and `proc_macro_lib` features in the
compiler to stabilize the "Macros 1.1" feature of the language. Many more
details can be found on the tracking issue, #35900.

Closes #35900
@bors
Copy link
Collaborator

bors commented Jan 4, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: nikomatsakis
Pushing 95b14a3 to master...

@bors bors merged commit 045f8f6 into rust-lang:master Jan 4, 2017
This was referenced Jan 4, 2017
@nikomatsakis nikomatsakis mentioned this pull request Jan 6, 2017
17 tasks
@alexcrichton alexcrichton removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 6, 2017
@alexcrichton alexcrichton deleted the stabilize-proc-macro branch January 13, 2017 23:27
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants