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

do not emit overlap errors for impls failing the orphan check #89550

Merged
merged 2 commits into from Nov 11, 2021

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Oct 5, 2021

this should finally allow us to merge #86986, see #86986 (comment) for more details.

r? @nikomatsakis cc @eddyb

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 5, 2021
@lcnr lcnr changed the title do not emit overlap errors from impls failing the orphan check do not emit overlap errors for impls failing the orphan check Oct 5, 2021
@apiraino apiraino added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Oct 14, 2021
@lcnr
Copy link
Contributor Author

lcnr commented Oct 21, 2021

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 21, 2021
@bors
Copy link
Contributor

bors commented Oct 21, 2021

⌛ Trying commit 7d5a76d79c1f608f2e40cef7bbdba2dc4b172d7c with merge 1c8704cd0aa20806f32471eb07a5af01fa99f8d0...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Oct 21, 2021

☀️ Try build successful - checks-actions
Build commit: 1c8704cd0aa20806f32471eb07a5af01fa99f8d0 (1c8704cd0aa20806f32471eb07a5af01fa99f8d0)

@rust-timer
Copy link
Collaborator

Queued 1c8704cd0aa20806f32471eb07a5af01fa99f8d0 with parent e015ef5, future comparison URL.

@bors
Copy link
Contributor

bors commented Oct 21, 2021

☀️ Try build successful - checks-actions
Build commit: 1c8704cd0aa20806f32471eb07a5af01fa99f8d0 (1c8704cd0aa20806f32471eb07a5af01fa99f8d0)

@lcnr
Copy link
Contributor Author

lcnr commented Oct 21, 2021

ok, const-and-non-const-impl.rs now has three more "type annotations needed" errors. The reason they were hidden before is a use of err_count() which is pretty fundamentally broken wrt the query system.

before we had

x = new InferCtxt
...
specialization_graph_of() // this errors and increases the error count
...
x.is_tainted_by_errors() // returns `true`

but we now have

orphan_check_impl() // this errors and increases the error count
...
x = new InferCtxt
...
specialization_graph_of() // this doesn't error because of the error in `orphan_check_impl` above
...
x.is_tainted_by_errors() // now returns `false`

Don't think that that should block this PR and believe that we stop using err_count like this long term.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1c8704cd0aa20806f32471eb07a5af01fa99f8d0): comparison url.

Summary: This change led to large relevant mixed results 🤷 in compiler performance.

  • Small improvement in instruction counts (up to -0.6% on incr-unchanged builds of tuple-stress)
  • Large regression in instruction counts (up to 2.4% on full builds of inflate)

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 led to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

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

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Oct 21, 2021
@lcnr
Copy link
Contributor Author

lcnr commented Oct 21, 2021

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 21, 2021
@bors
Copy link
Contributor

bors commented Oct 21, 2021

⌛ Trying commit 9eb21cf7293d97200ea07dddb9c57bd7c86f4234 with merge 244bc66664402a4b88605f32a857fa71310bcc1d...

@bors
Copy link
Contributor

bors commented Oct 21, 2021

☀️ Try build successful - checks-actions
Build commit: 244bc66664402a4b88605f32a857fa71310bcc1d (244bc66664402a4b88605f32a857fa71310bcc1d)

@rust-timer
Copy link
Collaborator

Queued 244bc66664402a4b88605f32a857fa71310bcc1d with parent e015ef5, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (244bc66664402a4b88605f32a857fa71310bcc1d): comparison url.

Summary: This change led to large relevant mixed results 🤷 in compiler performance.

  • Small improvement in instruction counts (up to -0.7% on incr-unchanged builds of tuple-stress)
  • Large regression in instruction counts (up to 2.4% on full builds of inflate)

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 led to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

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

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 21, 2021
@lcnr
Copy link
Contributor Author

lcnr commented Oct 23, 2021

@bors try @rust-timer queue

@lcnr
Copy link
Contributor Author

lcnr commented Nov 6, 2021

alright, sure love a 2.4 % perf regression to be noise xx

should now be ready for merge i guess 😅

@bors
Copy link
Contributor

bors commented Nov 9, 2021

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

@nikomatsakis
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Nov 10, 2021

📌 Commit f55ff41 has been approved by nikomatsakis

@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 Nov 10, 2021
@bors
Copy link
Contributor

bors commented Nov 10, 2021

⌛ Testing commit f55ff41 with merge 1e3c735f4665ad4ebeb54e37b0cdfbff161fa69a...

@bors
Copy link
Contributor

bors commented Nov 10, 2021

💥 Test timed out

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 10, 2021
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@lcnr
Copy link
Contributor Author

lcnr commented Nov 10, 2021

@bors retry

@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 Nov 10, 2021
@bors
Copy link
Contributor

bors commented Nov 11, 2021

⌛ Testing commit f55ff41 with merge 1d34cb4...

@bors
Copy link
Contributor

bors commented Nov 11, 2021

☀️ Test successful - checks-actions
Approved by: nikomatsakis
Pushing 1d34cb4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 11, 2021
@bors bors merged commit 1d34cb4 into rust-lang:master Nov 11, 2021
@rustbot rustbot added this to the 1.58.0 milestone Nov 11, 2021
@lcnr lcnr deleted the coherence-specialization branch November 11, 2021 11:36
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1d34cb4): comparison url.

Summary: This change led to moderate relevant mixed results 🤷 in compiler performance.

  • Small improvement in instruction counts (up to -0.5% on incr-unchanged builds of helloworld)
  • Moderate regression in instruction counts (up to 0.5% on incr-patched: println builds of style-servo)

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression

@rustbot rustbot added the perf-regression Performance regression. label Nov 11, 2021
@matthewjasper matthewjasper added the perf-regression-triaged The performance regression has been triaged. label Nov 14, 2021
@matthewjasper
Copy link
Contributor

Perf "regressions" disappeared when the next PR was merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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.

None yet

10 participants