Skip to content
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

Tracking issue for proc_macro::Ident::new_raw #54723

Closed
alexcrichton opened this issue Oct 1, 2018 · 9 comments
Closed

Tracking issue for proc_macro::Ident::new_raw #54723

alexcrichton opened this issue Oct 1, 2018 · 9 comments
Labels
A-macros Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..) B-unstable Blocker: Implemented in the nightly compiler and unstable. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. Libs-Tracked Libs issues that are tracked on the team's project board. T-lang Relevant to the language team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@alexcrichton
Copy link
Member

This API didn't get stabilized in the initial Macros 1.2 release because we wanted to be conservative. This API is unstable, though, and likely useful to others! This is a tracking issue for the API.

It's not clear to me if there's a blocker for stabilization other than we just wanted to make an explicit decision to stabilize the API.

@alexcrichton alexcrichton added A-macros Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..) T-lang Relevant to the language team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. B-unstable Blocker: Implemented in the nightly compiler and unstable. labels Oct 1, 2018
@alexcrichton
Copy link
Member Author

This is tracking the proc_macro_raw_ident feature

@alexcrichton alexcrichton added the C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. label Oct 1, 2018
alexcrichton added a commit to alexcrichton/rust that referenced this issue Oct 1, 2018
@chachi
Copy link

chachi commented Feb 19, 2019

Stabilizing this feature would have a great impact on code generation for message libraries (e.g. in ROS) where message fields can collide with Rust keywords.

@petrochenkov
Copy link
Contributor

@chachi
Since raw identifiers are already stabilized, I think the only question here is perhaps naming conventions (e.g. new_raw vs simply raw).

When introducing the function I thought new_adjective is not idiomatic, but apparently there are already NonNull::new_unchecked and Pin::new_unchecked, so Ident::new_raw is probably good too.
In this case the only thing that needs to be done is submitting a stabilization PR, that will then go through the formal team approval vote.

@chachi
Copy link

chachi commented Feb 19, 2019

@petrochenkov Great! Is that something I could take care of? I haven't contributed to Rust upstream before so would love any tips/pointers on what that process is.

@petrochenkov
Copy link
Contributor

@chachi

Is that something I could take care of?

Yes, for library stabilizations the only things that need to be done are changing the #[unstable(...)] attribute to #[stable(...)] (the version on trunk is 1.34.0 right now) and removing unnecessary #![feature(...)]s across the codebase.
Here's a recent example of such stabilization - #58576.

@adnanademovic
Copy link

@petrochenkov Should the feature be changed from "proc_macro_raw_ident" to something else, like "proc_macro_lib2"?

@petrochenkov
Copy link
Contributor

@adnanademovic
No, the feature names are normally kept during stabilization.

@KodrAus KodrAus added the Libs-Tracked Libs issues that are tracked on the team's project board. label Jul 31, 2020
Aaron1011 added a commit to Aaron1011/rust that referenced this issue Aug 3, 2020
Tracking issue: rust-lang#54723

This is a continuation of PR rust-lang#59002
JohnTitor added a commit to JohnTitor/rust that referenced this issue Aug 3, 2020
…r=petrochenkov

Stabilize Ident::new_raw

Tracking issue: rust-lang#54723

This is a continuation of PR rust-lang#59002
JohnTitor added a commit to JohnTitor/rust that referenced this issue Aug 4, 2020
…r=petrochenkov

Stabilize Ident::new_raw

Tracking issue: rust-lang#54723

This is a continuation of PR rust-lang#59002
@pwnorbitals
Copy link

It looks like this feature has been stabilized. Is this tracking issue still needed?

@petrochenkov
Copy link
Contributor

No, it can be closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-macros Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..) B-unstable Blocker: Implemented in the nightly compiler and unstable. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. Libs-Tracked Libs issues that are tracked on the team's project board. T-lang Relevant to the language team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

6 participants