-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
ICE from inductive cycle in specialization #147507
Copy link
Copy link
Open
Labels
A-coinductionArea: Concerning coinduction, most often for auto traitsArea: Concerning coinduction, most often for auto traitsA-specializationArea: Trait impl specializationArea: Trait impl specializationC-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-mediumMedium priorityMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Metadata
Metadata
Assignees
Labels
A-coinductionArea: Concerning coinduction, most often for auto traitsArea: Concerning coinduction, most often for auto traitsA-specializationArea: Trait impl specializationArea: Trait impl specializationC-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-mediumMedium priorityMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Code
My guess is that, after monomorphization, the trait solver tries to choose which trait impl of
Traitto use. It finds the impl that goes throughHelper. Then, the trait solver overflows while trying to figure out if the type implementsHelper.Using the next-solver does not fix this issue.
Meta
Reproducible on the playground with version
1.92.0-nightly (2025-10-08 b6f0945e4681bc4d2faa)Error output
Backtrace