Skip to content

[CRATER] Require equality for symmetric LUB coercion - #150408

Draft
jackh726 wants to merge 5 commits into
rust-lang:mainfrom
jackh726:multistep-coercion-cleanup
Draft

[CRATER] Require equality for symmetric LUB coercion#150408
jackh726 wants to merge 5 commits into
rust-lang:mainfrom
jackh726:multistep-coercion-cleanup

Conversation

@jackh726

@jackh726jackh726 commented Dec 26, 2025

Copy link
Copy Markdown
Member

View all comments

Ensures that these both error:

structWrap3<T: ?Sized>(T);impl<'b,T: ?Sized + std::marker::Unsize<U> + std::ops::CoerceUnsized<U>,U: ?Sized>
std::ops::CoerceUnsized<Wrap3<U>>forWrap3<T>{}typeI = Wrap3<Inner>;typeJ = Wrap3<dynDynable + Send>;typeK = Wrap3<dynDynable>;// LUB is `J` on nightlymatch0{0 => &Wrap3(Inner)as&I,1 => &Wrap3(Inner)as&J,2 => &Wrap3(Inner)as&K,
_ => loop{},}// LUB is `K` on nightlymatch0{0 => &Wrap3(Inner)as&I,1 => &Wrap3(Inner)as&K,2 => &Wrap3(Inner)as&J,
_ => loop{},}

r? ghost

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 26, 2025
@rust-log-analyzer

This comment has been minimized.

@jackh726

Copy link
Copy Markdown
MemberAuthor

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-borsBot added a commit that referenced this pull request Dec 26, 2025
[CRATER] Require equality for symmetric LUB coercion
@rustbotrustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Dec 26, 2025
@rust-bors

rust-borsBot commented Dec 26, 2025

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: bac5816 (bac5816c5f3d02cebd0599070af62d1782530294, parent: 82dd3cb008233bfe50ba6b8d6618e6bbd6054eb1)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (bac5816): comparison URL.

Overall result: ❌ regressions - please read the text below

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.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@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.

meanrangecount
Regressions ❌
(primary)
0.4%[0.1%, 0.9%]22
Regressions ❌
(secondary)
3.8%[0.1%, 9.6%]31
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.4%[0.1%, 0.9%]22

Max RSS (memory usage)

Results (primary 0.8%, secondary 1.5%)

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

meanrangecount
Regressions ❌
(primary)
3.7%[1.3%, 9.1%]4
Regressions ❌
(secondary)
2.2%[1.1%, 2.8%]3
Improvements ✅
(primary)
-5.1%[-5.4%, -4.8%]2
Improvements ✅
(secondary)
-0.7%[-0.7%, -0.7%]1
All ❌✅ (primary)0.8%[-5.4%, 9.1%]6

Cycles

Results (primary -2.8%, secondary 5.9%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
5.9%[4.4%, 7.7%]8
Improvements ✅
(primary)
-2.8%[-3.8%, -1.4%]12
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-2.8%[-3.8%, -1.4%]12

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 492.292s -> 484.36s (-1.61%)
Artifact size: 392.38 MiB -> 392.44 MiB (0.02%)

@rustbotrustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Dec 27, 2025
@jackh726

Copy link
Copy Markdown
MemberAuthor

@craterbot check

@craterbot

Copy link
Copy Markdown
Collaborator

👌 Experiment pr-150408 created and queued.
🤖 Automatically detected try build bac5816
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbotcraterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 27, 2025
@craterbot

Copy link
Copy Markdown
Collaborator

🚧 Experiment pr-150408 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot

Copy link
Copy Markdown
Collaborator

🎉 Experiment pr-150408 is completed!
📊 519 regressed and 4 fixed (768548 total)
📊 2039 spurious results on the retry-regressed-list.txt, consider a retry1 if this is a significant amount.
📰 Open the summary report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

Footnotes

  1. re-run the experiment with crates=https://crater-reports.s3.amazonaws.com/pr-150408/retry-regressed-list.txt

@craterbotcraterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Jan 4, 2026
@rust-cloud-vms
rust-cloud-vmsBotforce-pushed the multistep-coercion-cleanup branch from 72b1d15 to 14c30b9CompareJanuary 10, 2026 21:53
@jackh726

Copy link
Copy Markdown
MemberAuthor

@bors try

@rust-bors

This comment has been minimized.

rust-borsBot added a commit that referenced this pull request Jan 10, 2026
[CRATER] Require equality for symmetric LUB coercion
@rust-log-analyzer

This comment has been minimized.

@rust-bors

rust-borsBot commented Jan 11, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 9bb5641 (9bb5641bfa3e7e0c9ede079ad0a1d43b1b7422bc, parent: f57eac1bf98cb5d578e3364b64365ec398c137df)

@jackh726

Copy link
Copy Markdown
MemberAuthor

@craterbot run name=require-direct mode=check-only start=master#f57eac1bf98cb5d578e3364b64365ec398c137df end=try#9bb5641bfa3e7e0c9ede079ad0a1d43b1b7422bc crates=https://crater-reports.s3.amazonaws.com/pr-150408/retry-regressed-list.txt

@craterbot

Copy link
Copy Markdown
Collaborator

👌 Experiment require-direct created and queued.
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbotcraterbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 11, 2026
@jackh726

Copy link
Copy Markdown
MemberAuthor

@bors retry

@rust-bors

rust-borsBot commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

❗ You can only retry pull requests that are approved and have a previously failed auto build.

@jackh726

Copy link
Copy Markdown
MemberAuthor

@bors try

@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Jan 23, 2026
[CRATER] Require equality for symmetric LUB coercion
@rust-bors

rust-borsBot commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 8a19fe1 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@rust-bors

This comment has been minimized.

@rust-cloud-vms
rust-cloud-vmsBotforce-pushed the multistep-coercion-cleanup branch from da88a87 to 690f50aCompareFebruary 17, 2026 10:15
@jackh726

Copy link
Copy Markdown
MemberAuthor

@bors try

@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Feb 17, 2026
[CRATER] Require equality for symmetric LUB coercion
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job tidy failed! Check out the build log: (web)(plain enhanced)(plain)

Click to see the possible cause of the failure (guessed by this bot)
Diff in /checkout/compiler/rustc_hir_typeck/src/coercion_guidance.rs:46:
};
use rustc_infer::traits::{Obligation, PredicateObligation, PredicateObligations, SelectionError};
use rustc_middle::ty::adjustment::{
- Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, DerefAdjustKind, PointerCoercion,
+ Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, DerefAdjustKind,
+ PointerCoercion,
};
use rustc_middle::ty::error::TypeError;
use rustc_middle::ty::relate::{self, Relate, TypeRelation};
fmt: checked 6702 files
Bootstrap failed while executing `test src/tools/tidy tidyselftest --extra-checks=py,cpp,js,spellcheck`

@rust-bors

rust-borsBot commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 2f436d5 (2f436d5822164c7dc46729ecf9f1f8faa09fe9e4, parent: 1210e9fa3ee9c9712fa694f90f7a032f2f0fd786)

@jackh726

Copy link
Copy Markdown
MemberAuthor

@craterbot run name=feb-17 mode=check-only start=master#1210e9fa3ee9c9712fa694f90f7a032f2f0fd786 end=try#2f436d5822164c7dc46729ecf9f1f8faa09fe9e4 crates=https://crater-reports.s3.amazonaws.com/pr-150408/retry-regressed-list.txt

@craterbot

Copy link
Copy Markdown
Collaborator

👌 Experiment feb-17 created and queued.
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbotcraterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 17, 2026
@craterbot

Copy link
Copy Markdown
Collaborator

🚧 Experiment feb-17 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot

Copy link
Copy Markdown
Collaborator

🎉 Experiment feb-17 is completed!
📊 1 regressed and 0 fixed (2461 total)
📊 156 spurious results on the retry-regressed-list.txt, consider a retry1 if this is a significant amount.
📰 Open the summary report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

Footnotes

  1. re-run the experiment with crates=https://crater-reports.s3.amazonaws.com/feb-17/retry-regressed-list.txt

@craterbotcraterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Feb 19, 2026
@rust-bors

rust-borsBot commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

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

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

perf-regressionPerformance regression.S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@jackh726@rust-log-analyzer@rust-timer@craterbot@rustbot