Skip to content

Conversation

JonathanBrouwer
Copy link
Contributor

Ports #[automatically_derived] to the new attribute parsing infrastructure for #131229 (comment)

r? @oli-obk
cc @jdonszelmann

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 11, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jul 11, 2025

Some changes occurred in compiler/rustc_passes/src/check_attr.rs

cc @jdonszelmann

Some changes occurred in compiler/rustc_attr_parsing

cc @jdonszelmann

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

Some changes occurred in compiler/rustc_attr_data_structures

cc @jdonszelmann

Some changes occurred in match checking

cc @Nadrieril

@@ -1304,6 +1304,7 @@ impl AttributeExt for Attribute {
Attribute::Parsed(AttributeKind::DocComment { span, .. }) => *span,
Attribute::Parsed(AttributeKind::MayDangle(span)) => *span,
Attribute::Parsed(AttributeKind::Ignore { span, .. }) => *span,
Attribute::Parsed(AttributeKind::AutomaticallyDerived(span)) => *span,
Copy link
Contributor Author

@JonathanBrouwer JonathanBrouwer Jul 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is needed to fix #143780 for automatically_derived. automatically_derived is part of a test case so this is necessary to add now. @jdonszelmann and I are discussing a general solution to this problem.

@rust-log-analyzer

This comment has been minimized.

@JonathanBrouwer JonathanBrouwer force-pushed the automatically_derived_parser branch from 8ffd1bf to 499af0e Compare July 11, 2025 11:32
@Kobzol
Copy link
Member

Kobzol commented Jul 11, 2025

There are lots of these attributes produced by built-in derives, let's do a perf. run once this is ready.

@bors
Copy link
Collaborator

bors commented Jul 12, 2025

☔ The latest upstream changes (presumably #143810) made this pull request unmergeable. Please resolve the merge conflicts.

@JonathanBrouwer JonathanBrouwer force-pushed the automatically_derived_parser branch from 499af0e to 68066b9 Compare July 12, 2025 15:51
@jdonszelmann
Copy link
Contributor

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 12, 2025
bors added a commit that referenced this pull request Jul 12, 2025
… r=<try>

Port `#[automatically_derived]` to the new attribute parsing infrastructure

Ports `#[automatically_derived]` to the new attribute parsing infrastructure for #131229 (comment)

r? `@oli-obk`
cc `@jdonszelmann`
@bors
Copy link
Collaborator

bors commented Jul 12, 2025

⌛ Trying commit 68066b9 with merge bc14627...

@bors
Copy link
Collaborator

bors commented Jul 12, 2025

☀️ Try build successful - checks-actions
Build commit: bc14627 (bc146279bdc1ca321ed03225099bba4299bcd965)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (bc14627): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

@bors rollup=never
@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.1%] 1
Improvements ✅
(secondary)
-0.2% [-0.3%, -0.2%] 8
All ❌✅ (primary) -0.1% [-0.1%, -0.1%] 1

Max RSS (memory usage)

Results (primary -1.1%, secondary -1.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.1% [2.1%, 2.1%] 1
Improvements ✅
(primary)
-1.1% [-1.1%, -1.1%] 1
Improvements ✅
(secondary)
-4.0% [-4.0%, -4.0%] 1
All ❌✅ (primary) -1.1% [-1.1%, -1.1%] 1

Cycles

Results (primary 1.4%, secondary 5.8%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.6% [2.3%, 2.8%] 3
Regressions ❌
(secondary)
5.8% [2.4%, 9.2%] 2
Improvements ✅
(primary)
-2.2% [-2.2%, -2.2%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.4% [-2.2%, 2.8%] 4

Binary size

Results (primary -0.1%, secondary -0.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.3%, -0.0%] 71
Improvements ✅
(secondary)
-0.4% [-1.8%, -0.0%] 31
All ❌✅ (primary) -0.1% [-0.3%, -0.0%] 71

Bootstrap: 464.174s -> 466.768s (0.56%)
Artifact size: 374.70 MiB -> 374.67 MiB (-0.01%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 12, 2025
@oli-obk
Copy link
Contributor

oli-obk commented Jul 13, 2025

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 13, 2025

📌 Commit 68066b9 has been approved by oli-obk

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 13, 2025
@jdonszelmann
Copy link
Contributor

damn, no regressions?

@bors
Copy link
Collaborator

bors commented Jul 14, 2025

⌛ Testing commit 68066b9 with merge ad635e5...

@bors
Copy link
Collaborator

bors commented Jul 14, 2025

☀️ Test successful - checks-actions
Approved by: oli-obk
Pushing ad635e5 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 14, 2025
@bors bors merged commit ad635e5 into rust-lang:master Jul 14, 2025
12 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 14, 2025
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 9c3064e (parent) -> ad635e5 (this PR)

Test differences

Show 14 test diffs

14 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard ad635e5d0696076b4412dd7db7b7e8c0867d6e0c --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-apple-1: 6198.6s -> 8956.0s (44.5%)
  2. dist-aarch64-linux: 8137.9s -> 5852.0s (-28.1%)
  3. aarch64-apple: 4724.2s -> 5827.1s (23.3%)
  4. dist-apple-various: 6334.9s -> 7527.0s (18.8%)
  5. dist-x86_64-apple: 9338.3s -> 8381.1s (-10.3%)
  6. x86_64-apple-2: 4214.5s -> 3854.9s (-8.5%)
  7. dist-x86_64-musl: 7019.0s -> 7578.3s (8.0%)
  8. dist-aarch64-apple: 5389.4s -> 5807.3s (7.8%)
  9. aarch64-gnu-debug: 4199.5s -> 3934.6s (-6.3%)
  10. pr-check-1: 1679.3s -> 1583.0s (-5.7%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (ad635e5): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.3%, -0.1%] 8
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 2.3%, secondary -2.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
4.7% [1.8%, 7.7%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-7.5% [-7.5%, -7.5%] 1
Improvements ✅
(secondary)
-2.4% [-2.4%, -2.4%] 1
All ❌✅ (primary) 2.3% [-7.5%, 7.7%] 5

Cycles

Results (secondary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.3%, -2.3%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.1%, secondary -0.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.3%, -0.0%] 71
Improvements ✅
(secondary)
-0.4% [-1.8%, -0.0%] 31
All ❌✅ (primary) -0.1% [-0.3%, -0.0%] 71

Bootstrap: 462.57s -> 465.735s (0.68%)
Artifact size: 374.65 MiB -> 374.64 MiB (-0.00%)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Jul 25, 2025
…d_parser, r=oli-obk

Port `#[automatically_derived]` to the new attribute parsing infrastructure

Ports `#[automatically_derived]` to the new attribute parsing infrastructure for rust-lang#131229 (comment)

r? `@oli-obk`
cc `@jdonszelmann`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants