Improve some deriving code and add a test by nnethercote · Pull Request #98376 ·...
source link: https://github.com/rust-lang/rust/pull/98376
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Conversation
The .stdout
test is particularly useful.
added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label
added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label
Collaborator
rust-timer commented 16 days ago
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label
Contributor
bors commented 16 days ago
added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
labels
Contributor
bors commented 16 days ago
Try build successful - checks-actions |
Collaborator
rust-timer commented 16 days ago
Collaborator
rust-timer commented 16 days ago
Finished benchmarking commit (85aa844): comparison url. Instruction count
Max RSS (memory usage)Results CyclesResults If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. @bors rollup=never Footnotes
|
added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
and removed S-waiting-on-perf Status: Waiting on a perf run to be completed.
labels
Contributor
Kobzol commented 15 days ago
I wonder how would perf. look like without the last commit? Without the |
Contributor
Author
nnethercote commented 15 days ago
I haven't measured but I'm confident that the last commit is responsible for 99% the perf wins. The first commit is the only other one that affects the generated code, and it just removes one I liked @jyn514's comment on Zulip, about the possibility of behavioural changes with this PR if you derive |
removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label
Contributor
petrochenkov commented 15 days ago
@bors r+ |
Contributor
bors commented 15 days ago
Commit fb58eff has been approved by |
Contributor
bors commented 15 days ago
The tree is currently closed for pull requests below priority 1000. This pull request will be tested once the tree is reopened. |
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
I think a remnant of Do the |
Contributor
Author
nnethercote commented 9 days ago
They do, both via The problem appears to be this:
I don't understand these coverage tests at all, so I'm not sure if just updating the expected output to remove those lines is reasonable... |
Contributor
Author
nnethercote commented 9 days ago
Oh, it seems the |
Neither do I, but at least seeing an "unexecuted instantiation of And that seemed to match the idea that it was a safe function to delete indeed. |
I think this PR should have a T-libs-api FCP on it, since it does modify stable behavior. It's likely okay to change that behavior - we document that eq and ne should match - but I could see this breaking users if they're writing custom impls and so I think it merits additional consideration. At minimum, marking relnotes and will edit the description with a short note for why. |
added T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. relnotes Marks issues that should be documented in the release notes of the next release. I-libs-api-nominated Indicates that an issue has been nominated for discussion during a libs-api team meeting.
and removed T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
labels
Contributor
Author
nnethercote commented 9 days ago
I'm going to remove the last commit from this PR, which is the one that removes the I will then file a new PR just for the |
added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
and removed T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. relnotes Marks issues that should be documented in the release notes of the next release. I-libs-api-nominated Indicates that an issue has been nominated for discussion during a libs-api team meeting.
labels
changed the title
Improve derive(PartialEq)
Improve some deriving code and add a test
Contributor
Author
nnethercote commented 9 days ago
I removed the final commit. I'll file the new PR for the @bors r=petrochenkov |
Contributor
bors commented 9 days ago
Commit 02d2cdf has been approved by |
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
Contributor
bors commented 9 days ago
Contributor
bors commented 9 days ago
Test successful - checks-actions |
Contributor
Author
nnethercote commented 9 days ago
That is #98655. |
Collaborator
rust-timer commented 9 days ago
Finished benchmarking commit (126e3df): comparison url. Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results CyclesResults If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes
|
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Successfully merging this pull request may close these issues.
None yet
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK