-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Hir attributes #131808
Hir attributes #131808
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment has been minimized.
This comment has been minimized.
cc2499a
to
6e0f96e
Compare
cf3179b
to
e3133bb
Compare
This comment has been minimized.
This comment has been minimized.
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.
The Clippy changes look good to me :D
=^.^=
This comment was marked as resolved.
This comment was marked as resolved.
1920abd
to
cefa0ea
Compare
This comment was marked as resolved.
This comment was marked as resolved.
5ae06d2
to
1d5ec2c
Compare
@bors delegate+ r=me,petrochenkov once CI is happy |
✌️ @jdonszelmann, you can now approve this pull request! If @oli-obk told you to " |
@bors r=oli-obk,petrochenkov |
…bk,petrochenkov Hir attributes This PR needs some explanation, it's somewhat large. - This is step one as described in rust-lang/compiler-team#796. I've added a new `hir::Attribute` which is a lowered version of `ast::Attribute`. Right now, this has few concrete effects, however every place that after this PR parses a `hir::Attribute` should later get a pre-parsed attribute as described in rust-lang/compiler-team#796 and transitively rust-lang#131229. - an extension trait `AttributeExt` is added, which is implemented for both `ast::Attribute` and `hir::Atribute`. This makes `hir::Attributes` mostly compatible with code that used to parse `ast::Attribute`. All its methods are also added as inherent methods to avoid having to import the trait everywhere in the compiler. - Incremental can not not hash `ast::Attribute` at all.
⌛ Testing commit 1d5ec2c with merge 6add46f4e832c1c8ef2d88fdce74739f0a5041c4... |
☀️ Test successful - checks-actions |
Finished benchmarking commit (f2b91cc): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary -0.9%, secondary -0.9%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (primary 1.4%, secondary 1.9%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeResults (primary -0.2%, secondary -0.4%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Bootstrap: 770.348s -> 773.825s (0.45%) |
(Perf regression is real as we are doing more work, not sure how to claw perf back personally.) |
Interestingly it's only a rustdoc regression. Maybe run cachegrind on one of them and see if it's sth obvious? |
Zzzzz good morning, oh that's interesting, didn't expect that. I'll take a look today |
Try to fix perf regression in rustdoc after hir attributes Slight performance regression introduced in rust-lang#131808 r? `@jieyouxu`
This PR needs some explanation, it's somewhat large.
hir::Attribute
which is a lowered version ofast::Attribute
. Right now, this has few concrete effects, however every place that after this PR parses ahir::Attribute
should later get a pre-parsed attribute as described in Attribute handling reworks compiler-team#796 and transitively Tracking issue: Attribute refactor #131229.AttributeExt
is added, which is implemented for bothast::Attribute
andhir::Atribute
. This makeshir::Attributes
mostly compatible with code that used to parseast::Attribute
. All its methods are also added as inherent methods to avoid having to import the trait everywhere in the compiler.ast::Attribute
at all.