-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Hang with weird trait requirement #104225
Copy link
Copy link
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-compiletimeIssue: Problems and improvements with respect to compile times.Issue: Problems and improvements with respect to compile times.I-hangIssue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc.Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc.T-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.
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-compiletimeIssue: Problems and improvements with respect to compile times.Issue: Problems and improvements with respect to compile times.I-hangIssue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc.Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc.T-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.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Found with a modified fuzz-rustc.
Code
This input effectively hangs the compiler during
item_types_checking/ trait selection.Time complexity
The time spent increases exponentially(?) with the complexity of type
xand with the recursion_limit setting.#![recursion_limit = "16"]#![recursion_limit = "32"]#![recursion_limit = "48"]#Regression
Regression in nightly-2022-05-28, from #96046. At the same time, the error message changed from E0275 to E0277.
Error before 2022-05-28
E0275: An evaluation of a trait requirement overflowed
Current error
E0277: trait requirement not satisfied
Version
rustc --version --verbose:@rustbot label +I-compiletime +I-hang