Skip to content

Conversation

lukas-code
Copy link
Member

@lukas-code lukas-code commented Jan 5, 2024

Fixes #119625.

The first commit fixes the infinite recursion and makes the cycle error actually show up. We do this by making the Display for ty::Instance impl respect with_no_queries so that it can be used in query descriptions.

The second commit fixes the cycle error resolver_for_lowering -> normalize -> resolve_instance (for evaluating const) -> lang_items (for drop_in_place) -> resolver_for_lowering (for collecting lang items). We do this by simply skipping the suggestion when encountering an unnormalized type.

@rustbot
Copy link
Collaborator

rustbot commented Jan 5, 2024

r? @cjgillot

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 5, 2024
@lukas-code lukas-code changed the title fix cyle error when suggesting to associated function instead of constructor fix cyle error when suggesting to use associated function instead of constructor Jan 5, 2024
@cjgillot
Copy link
Contributor

cjgillot commented Jan 6, 2024

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jan 6, 2024

📌 Commit 339fa31 has been approved by cjgillot

It is now in the queue for this repository.

@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 Jan 6, 2024
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jan 6, 2024
…le-error, r=cjgillot

fix cyle error when suggesting to use associated function instead of constructor

Fixes rust-lang#119625.

The first commit fixes the infinite recursion and makes the cycle error actually show up. We do this by making the `Display` for `ty::Instance` impl  respect `with_no_queries` so that it can be used in query descriptions.

The second commit fixes the cycle error `resolver_for_lowering` -> `normalize` -> `resolve_instance` (for evaluating const) -> `lang_items` (for `drop_in_place`) -> `resolver_for_lowering` (for collecting lang items). We do this by simply skipping the suggestion when encountering an unnormalized type.
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 6, 2024
…mpiler-errors

Rollup of 9 pull requests

Successful merges:

 - rust-lang#119208 (coverage: Hoist some complex code out of the main span refinement loop)
 - rust-lang#119216 (Use diagnostic namespace in stdlib)
 - rust-lang#119414 (bootstrap: Move -Clto= setting from Rustc::run to rustc_cargo)
 - rust-lang#119420 (Handle ForeignItem as TAIT scope.)
 - rust-lang#119468 (rustdoc-search: tighter encoding for f index)
 - rust-lang#119628 (remove duplicate test)
 - rust-lang#119638 (fix cyle error when suggesting to use associated function instead of constructor)
 - rust-lang#119640 (library: Fix warnings in rtstartup)
 - rust-lang#119642 (library: Fix a symlink test failing on Windows)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 61c776a into rust-lang:master Jan 6, 2024
@rustbot rustbot added this to the 1.77.0 milestone Jan 6, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 6, 2024
Rollup merge of rust-lang#119638 - lukas-code:suggest-constructor-cycle-error, r=cjgillot

fix cyle error when suggesting to use associated function instead of constructor

Fixes rust-lang#119625.

The first commit fixes the infinite recursion and makes the cycle error actually show up. We do this by making the `Display` for `ty::Instance` impl  respect `with_no_queries` so that it can be used in query descriptions.

The second commit fixes the cycle error `resolver_for_lowering` -> `normalize` -> `resolve_instance` (for evaluating const) -> `lang_items` (for `drop_in_place`) -> `resolver_for_lowering` (for collecting lang items). We do this by simply skipping the suggestion when encountering an unnormalized type.
@lukas-code lukas-code deleted the suggest-constructor-cycle-error branch January 6, 2024 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

infinite(?) recursion / memory allocation loop / out of memory panic

4 participants