Skip to content

regression: cycle in MIR opts #88972

Closed
@Mark-Simulacrum

Description

@Mark-Simulacrum

Found by 1.56 crater -- https://crater-reports.s3.amazonaws.com/beta-1.56-2/beta-2021-09-12/gh/jkarneges.rust-async-bench/log.txt

[INFO] [stdout] error[E0391]: cycle detected when optimizing MIR for `run::listen::{closure#0}`
[INFO] [stdout]    --> src/run.rs:167:28
[INFO] [stdout]     |
[INFO] [stdout] 167 |   ) -> Result<(), io::Error> {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 168 | |     let listener = AsyncFakeListener::new(reactor, stats);
[INFO] [stdout] 169 | |
[INFO] [stdout] 170 | |     for _ in 0..CONNS_MAX {
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |     Ok(())
[INFO] [stdout] 181 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ...which requires computing layout of `impl std::future::Future`...
[INFO] [stdout]     = note: ...which requires computing layout of `std::future::from_generator::GenFuture<[static generator@src/run.rs:213:3: 218:2]>`...
[INFO] [stdout]     = note: ...which requires computing layout of `[static generator@src/run.rs:213:3: 218:2]`...
[INFO] [stdout] note: ...which requires optimizing MIR for `run::do_async::{closure#0}`...
[INFO] [stdout]    --> src/run.rs:213:3
[INFO] [stdout]     |
[INFO] [stdout] 213 |   ) {
[INFO] [stdout]     |  ___^
[INFO] [stdout] 214 | |     match invoke {
[INFO] [stdout] 215 | |         AsyncInvoke::Listen => listen(spawn, ctx, reactor, stats).await.unwrap(),
[INFO] [stdout] 216 | |         AsyncInvoke::Connection(stream) => connection(stream).await.unwrap(),
[INFO] [stdout] 217 | |     }
[INFO] [stdout] 218 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: ...which requires computing layout of `impl std::future::Future`...
[INFO] [stdout]     = note: ...which requires computing layout of `std::future::from_generator::GenFuture<[static generator@src/run.rs:167:28: 181:2]>`...
[INFO] [stdout]     = note: ...which requires computing layout of `[static generator@src/run.rs:167:28: 181:2]`...
[INFO] [stdout]     = note: ...which again requires optimizing MIR for `run::listen::{closure#0}`, completing the cycle

cc @oli-obk

Metadata

Metadata

Assignees

Labels

I-cycleIssue: A query cycle occurred while none was expectedP-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions