-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 gensym operations from Symbol
to Ident
#60903
Move gensym operations from Symbol
to Ident
#60903
Conversation
src/libsyntax_pos/symbol.rs
Outdated
@@ -613,10 +613,12 @@ pub struct Ident { | |||
|
|||
impl Ident { | |||
#[inline] | |||
/// constructs a new identifier from a symbol and a span. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/// constructs a new identifier from a symbol and a span. | |
/// Constructs a new identifier from a symbol and a span. |
r=me after rebase |
17b5966
to
ad5dd49
Compare
@bors try |
…=<try> Move gensym operations from `Symbol` to `Ident` Gensyms are always at the `Ident` level, and long-term we probably want to record gensym-ness in hygiene data. r? @petrochenkov
ad5dd49
to
8a96f26
Compare
☔ The latest upstream changes (presumably #60969) made this pull request unmergeable. Please resolve the merge conflicts. |
Note that the `is_gensymed` call on `primitive_types` is unnecessary because that table only contains the name of primitive types (e.g. `i32`) and never contains gensyms.
8a96f26
to
88d2999
Compare
@bors try |
…=<try> Move gensym operations from `Symbol` to `Ident` Gensyms are always at the `Ident` level, and long-term we probably want to record gensym-ness in hygiene data. r? @petrochenkov
☀️ Try build successful - checks-travis |
@rust-timer build e67ebe6 |
Success: Queued e67ebe6 with parent 128b4c8, comparison URL. |
Finished benchmarking try commit e67ebe6: comparison url |
It's a slight performance regression, but I think it's necessary to take at some point in order to move gensym-ness away from symbols. We've had a bunch of significantly larger performance improvements related to symbol handling recently, which more than make up for this. @bors r=petrochenkov |
📌 Commit 88d2999 has been approved by |
…=petrochenkov Move gensym operations from `Symbol` to `Ident` Gensyms are always at the `Ident` level, and long-term we probably want to record gensym-ness in hygiene data. r? @petrochenkov
☀️ Test successful - checks-travis, status-appveyor |
Gensyms are always at the
Ident
level, and long-term we probably want to record gensym-ness in hygiene data.r? @petrochenkov