-
Notifications
You must be signed in to change notification settings - Fork 13.4k
compilation does not terminate using async closures #135780
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
Comments
Reproducing the hang requires a true |
Random notes along the way to finding the source+offending closure:
I'll try to minimize this a bit more later today, while errs enjoys his well-deserved holiday ^^. |
This looks like a monomorphization overflow. I expect it to result in a build error, but obviously not a hang. |
use std::ops::AsyncFn;
fn recur(closure: &impl AsyncFn()) {
let _ = closure();
if false {
recur(&async || {
let _ = closure();
});
}
}
fn main() {
let closure = async || {};
let _ = recur(&closure);
} |
…der, r=<try> Add cache to `FoldEscapingRegions` Fixes rust-lang#135780 ty `@lqd` for the tests
This comment has been minimized.
This comment has been minimized.
Hello @compiler-errors this seems interested plz i wish to know who far you are with this issue if i could help |
This issue is already fixed by #135783 which is approved and waiting to be merged |
Okay thx |
…der, r=lcnr Add cache to `FoldEscapingRegions` Fixes rust-lang#135780 ty `@lqd` for the tests
Uh oh!
There was an error while loading. Please reload this page.
The following code:
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=efa07d177105d0c3aecf5bc64a9bf8b3
causes compilation to enter into an infinite loop. This was reduced from my dada project (run
cargo build
on the tip of this branch).Many many thanks to @lqd for helping me minimize this.
cc @compiler-errors @rust-lang/types
The text was updated successfully, but these errors were encountered: