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

regression: ICE failed to get output type of async function #123273

Closed
Mark-Simulacrum opened this issue Mar 31, 2024 · 5 comments
Closed

regression: ICE failed to get output type of async function #123273

Mark-Simulacrum opened this issue Mar 31, 2024 · 5 comments
Assignees
Labels
A-diagnostics Area: Messages for errors, warnings, and lints A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix`. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Milestone

Comments

@Mark-Simulacrum
Copy link
Member

Mark-Simulacrum commented Mar 31, 2024

[INFO] [stdout] error: internal compiler error: compiler/rustc_hir_typeck/src/fn_ctxt/suggestions.rs:1081:25: failed to get output type of async function
[INFO] [stdout]   --> src/components/rss_list.rs:84:40
[INFO] [stdout]    |
[INFO] [stdout] 84 |             .filter(move |&channel| -> Option<Channel> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
@Mark-Simulacrum Mark-Simulacrum added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Mar 31, 2024
@Mark-Simulacrum Mark-Simulacrum added this to the 1.78.0 milestone Mar 31, 2024
@rustbot rustbot added I-prioritize Issue: Indicates that prioritization has been requested for this issue. needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Mar 31, 2024
@matthiaskrgr
Copy link
Member

could be related to #105304 but may also be a red herring 🐟 🤔

@compiler-errors
Copy link
Member

Regression in rust-lang-ci@cb682d3
The PR introducing the regression in this rollup is #120696: Properly handle async block and async fn in if exprs …

searched nightlies: from nightly-2024-01-01 to nightly-2024-03-18
regressed nightly: nightly-2024-02-14
searched commit range: b381d3a...a84bb95
regressed commit: fd9bb7f

bisected with cargo-bisect-rustc v0.6.8

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --start=2024-01-01 --end=2024-03-18 --regress=ice 

@compiler-errors
Copy link
Member

Seems like a quick diagnostics fix-forward. I'll put up a PR in a few hours when I'm done bisecting more PRs.

@rustbot claim

@apiraino
Copy link
Contributor

apiraino commented Apr 2, 2024

WG-prioritization assigning priority (Zulip discussion).

@rustbot label -I-prioritize +P-high

@rustbot rustbot added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Apr 2, 2024
@jieyouxu jieyouxu added A-diagnostics Area: Messages for errors, warnings, and lints A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix`. and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Apr 3, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Apr 11, 2024
…youxu

Stop using `HirId` for fn-like parents since closures are not `OwnerNode`s

This is a minimal fix for rust-lang#123273.

I'm overall pretty disappointed w/ the state of this code; although it's "just diagnostics", it still should be maintainable and understandable and neither of those are true. I believe this code really needs some major overhauling before anything more should be added to it, because there are subtle invariants that are being exercised and subsequently broken all over the place, and I don't think we should just paper over them (e.g.) by delaying bugs or things like that. I wouldn't be surprised if fixing up this code would also yield better diagnostics.
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Apr 12, 2024
Rollup merge of rust-lang#123804 - compiler-errors:podcrab-fix, r=jieyouxu

Stop using `HirId` for fn-like parents since closures are not `OwnerNode`s

This is a minimal fix for rust-lang#123273.

I'm overall pretty disappointed w/ the state of this code; although it's "just diagnostics", it still should be maintainable and understandable and neither of those are true. I believe this code really needs some major overhauling before anything more should be added to it, because there are subtle invariants that are being exercised and subsequently broken all over the place, and I don't think we should just paper over them (e.g.) by delaying bugs or things like that. I wouldn't be surprised if fixing up this code would also yield better diagnostics.
@cuviper
Copy link
Member

cuviper commented Apr 23, 2024

#123804 was said to fix this, and I backported it in #124272, so I think this is done. It was called a minimal fix though, so if there's future work to be done, feel free to reopen or file a new issue.

@cuviper cuviper closed this as completed Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix`. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants