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

Move standard macros and compiler-generated over to rvalue promotion. #44240

Closed
eddyb opened this issue Sep 1, 2017 · 3 comments
Closed

Move standard macros and compiler-generated over to rvalue promotion. #44240

eddyb opened this issue Sep 1, 2017 · 3 comments
Assignees
Labels
A-macros Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..) C-cleanup Category: PRs that clean code up or issues documenting cleanup. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@eddyb
Copy link
Member

eddyb commented Sep 1, 2017

Now that rvalue promotion is stabilized we can start using it instead of hacky inner statics (that show up in symbol tables, complicate future extensions, etc.), e.g. in panic! and format_args!.

@eddyb eddyb self-assigned this Sep 1, 2017
@eddyb eddyb changed the title Move standard macros and compiler-generated cover to rvalue promotion. Move standard macros and compiler-generated over to rvalue promotion. Sep 1, 2017
@shepmaster shepmaster added A-macros Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..) C-cleanup Category: PRs that clean code up or issues documenting cleanup. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Sep 1, 2017
@toidiu
Copy link
Contributor

toidiu commented Sep 4, 2017

@eddyb havn't contributed to this repo yet. is this an appropriate issue for a new contributor to tackle? Sounds like a lot of find and replacing and and some understanding of macro/rvalue

@Mark-Simulacrum
Copy link
Member

#44312 is already taking care of this issue. Maybe @eddyb could suggest an alternative issue for you to work on?

@eddyb
Copy link
Member Author

eddyb commented Sep 5, 2017

I'd suggest looking at E-mentor as usual.

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this issue Sep 8, 2017
…lexcrichton

Use rvalue promotion to 'static instead of static items.

Fixes rust-lang#44240. Among other things, in crates that do a lot of formatting, this could reduce the number of items, although I haven't measured the performance benefits. If there's a codegen slowdown, that should IMO be solved by caching the output of miri, *not* by using `static`.

r? @alexcrichton
frewsxcv added a commit to frewsxcv/rust that referenced this issue Sep 9, 2017
…lexcrichton

Use rvalue promotion to 'static instead of static items.

Fixes rust-lang#44240. Among other things, in crates that do a lot of formatting, this could reduce the number of items, although I haven't measured the performance benefits. If there's a codegen slowdown, that should IMO be solved by caching the output of miri, *not* by using `static`.

r? @alexcrichton
frewsxcv added a commit to frewsxcv/rust that referenced this issue Sep 9, 2017
…lexcrichton

Use rvalue promotion to 'static instead of static items.

Fixes rust-lang#44240. Among other things, in crates that do a lot of formatting, this could reduce the number of items, although I haven't measured the performance benefits. If there's a codegen slowdown, that should IMO be solved by caching the output of miri, *not* by using `static`.

r? @alexcrichton
bors added a commit that referenced this issue Sep 10, 2017
Use rvalue promotion to 'static instead of static items.

Fixes #44240. Among other things, in crates that do a lot of formatting, this could reduce the number of items, although I haven't measured the performance benefits. If there's a codegen slowdown, that should IMO be solved by caching the output of miri, *not* by using `static`.

r? @alexcrichton
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, ..) C-cleanup Category: PRs that clean code up or issues documenting cleanup. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants