rust/tests/ui/async-await
Dylan DPC d6f0c51e98
Rollup merge of #107585 - compiler-errors:fndef-sig-cycle, r=oli-obk
Don't cause a cycle when formatting query description that references a FnDef

When a function returns `-> _`, we use typeck to compute what the resulting type of the body _should_ be. If we call another query inside of typeck and hit a cycle error, we attempt to report the cycle error which requires us to compute all of the query descriptions for the stack.

However, if one of the queries in that cycle has a query description that references this function as a FnDef type, we'll cause a *second* cycle error from within the cycle error reporting code, since rendering a FnDef requires us to compute its signature. This causes an unwrap to ICE, since during the *second* cycle reporting code, we try to look for a job that isn't in the active jobs list.

We can avoid this by using `with_no_queries!` when computing these query descriptions.

Fixes #107089

The only drawback is that the rendering of opaque types in cycles regresses a bit :| I'm open to alternate suggestions about how we may handle this...
2023-02-03 23:04:52 +05:30
..
auxiliary Add test 2023-01-19 15:46:08 +00:00
await-keyword
drop-order
future-sizes Bless tests after rebase 2023-02-02 01:38:14 +00:00
in-trait Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issues Rollup merge of #107201 - compiler-errors:confusing-async-fn-note, r=estebank 2023-02-02 06:52:13 +01:00
multiple-lifetimes Tweak E0597 2023-01-15 19:46:20 +00:00
track-caller
argument-patterns.rs
async-assoc-fn-anon-lifetimes.rs
async-await-let-else.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
async-await-let-else.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
async-await-let-else.drop-tracking.stderr
async-await-let-else.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
async-await-let-else.no-drop-tracking.stderr
async-await-let-else.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
async-await.rs
async-block-control-flow-static-semantics.rs
async-block-control-flow-static-semantics.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
async-borrowck-escaping-block-error.fixed
async-borrowck-escaping-block-error.rs
async-borrowck-escaping-block-error.stderr
async-borrowck-escaping-closure-error.rs
async-borrowck-escaping-closure-error.stderr
async-closure-matches-expr.rs
async-closure.rs
async-error-span.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
async-error-span.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
async-error-span.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
async-error-span.rs Bless tests. 2023-01-27 20:10:17 +00:00
async-fn-elided-impl-lifetime-parameter.rs
async-fn-nonsend.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
async-fn-nonsend.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
async-fn-nonsend.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
async-fn-nonsend.rs Bless tests. 2023-01-27 20:10:17 +00:00
async-fn-nonsend.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
async-fn-path-elision.rs
async-fn-path-elision.stderr
async-fn-send-uses-nonsend.rs
async-fn-size-moved-locals.rs
async-fn-size-uninit-locals.rs
async-fn-size.rs
async-is-unwindsafe.rs
async-is-unwindsafe.stderr
async-matches-expr.rs
async-trait-fn.rs
async-trait-fn.stderr
async-unsafe-fn-call-in-safe.mir.stderr
async-unsafe-fn-call-in-safe.rs
async-unsafe-fn-call-in-safe.thir.stderr
async-with-closure.rs
await-into-future.rs
await-sequence.rs Add a test case for #102383 2023-01-12 11:58:24 -08:00
await-unsize.rs
bound-normalization.rs
conditional-and-guaranteed-initialization.rs
default-struct-update.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
dont-print-desugared-async.rs
dont-print-desugared-async.stderr
dont-suggest-await-on-method-return-mismatch.rs
dont-suggest-await-on-method-return-mismatch.stderr
dont-suggest-missing-await.rs
dont-suggest-missing-await.stderr Remove confusing 'while checking' note from opaque future type mismatches 2023-01-22 17:02:47 +00:00
drop-and-assign.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
drop-track-bad-field-in-fru.rs
drop-track-bad-field-in-fru.stderr
drop-track-field-assign-nonsend.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
drop-track-field-assign-nonsend.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
drop-track-field-assign-nonsend.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
drop-track-field-assign-nonsend.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
drop-track-field-assign.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
drop-tracking-unresolved-typeck-results.rs
drop-tracking-unresolved-typeck-results.stderr
edition-deny-async-fns-2015.rs
edition-deny-async-fns-2015.stderr
expansion-in-attrs.rs
feature-async-closure.rs
feature-async-closure.stderr
feature-gate-async_fn_in_trait.rs
feature-gate-async_fn_in_trait.stderr
feature-self-return-type.rs
feature-self-return-type.stderr
field-assign-nonsend.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
field-assign-nonsend.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
field-assign-nonsend.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
field-assign-nonsend.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
field-assign.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
futures-api.rs
generator-desc.rs
generator-desc.stderr Remove confusing 'while checking' note from opaque future type mismatches 2023-01-22 17:02:47 +00:00
generator-not-future.rs
generator-not-future.stderr
generics-and-bounds.rs
incorrect-move-async-order-issue-79694.fixed
incorrect-move-async-order-issue-79694.rs
incorrect-move-async-order-issue-79694.stderr
interior-with-const-generic-expr.rs
issue-54239-private-type-triggers-lint.rs
issue-60709.rs
issue-61076.rs Rollup merge of #107201 - compiler-errors:confusing-async-fn-note, r=estebank 2023-02-02 06:52:13 +01:00
issue-61076.stderr Rollup merge of #107201 - compiler-errors:confusing-async-fn-note, r=estebank 2023-02-02 06:52:13 +01:00
issue-61452.rs
issue-61452.stderr
issue-61793.rs
issue-61949-self-return-type.rs
issue-61949-self-return-type.stderr
issue-62658.rs
issue-63832-await-short-temporary-lifetime-1.rs
issue-63832-await-short-temporary-lifetime.rs
issue-64130-1-sync.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-1-sync.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-1-sync.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-1-sync.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-1-sync.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-64130-2-send.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-2-send.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-2-send.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-2-send.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-2-send.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-64130-3-other.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-3-other.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-3-other.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-3-other.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-3-other.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-64130-4-async-move.drop-tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-64130-4-async-move.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-4-async-move.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-64130-non-send-future-diags.rs
issue-64130-non-send-future-diags.stderr
issue-64391.rs
issue-66312.rs
issue-66312.stderr
issue-66387-if-without-else.rs
issue-66387-if-without-else.stderr
issue-67252-unnamed-future.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-67252-unnamed-future.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-67252-unnamed-future.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-67252-unnamed-future.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-67651.rs
issue-67651.stderr
issue-67765-async-diagnostic.rs
issue-67765-async-diagnostic.stderr
issue-68112.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-68112.drop_tracking.stderr Add rustc_on_unimplemented on Sync for cell types 2023-01-19 21:09:25 +01:00
issue-68112.no_drop_tracking.stderr Add rustc_on_unimplemented on Sync for cell types 2023-01-19 21:09:25 +01:00
issue-68112.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-68523-start.rs
issue-68523-start.stderr
issue-68523.rs
issue-68523.stderr
issue-69446-fnmut-capture.rs
issue-69446-fnmut-capture.stderr
issue-70594.rs
issue-70594.stderr
issue-70818.drop_tracking_mir.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-70818.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-70818.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-70818.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-70818.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-70935-complex-spans.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-70935-complex-spans.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-70935-complex-spans.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-70935-complex-spans.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-71137.rs
issue-71137.stderr
issue-72442.rs
issue-72442.stderr
issue-72470-llvm-dominate.rs
issue-72590-type-error-sized.rs
issue-72590-type-error-sized.stderr
issue-73050.rs
issue-73137.rs
issue-73541-1.rs
issue-73541-1.stderr
issue-73541-2.rs
issue-73541-2.stderr
issue-73541-3.rs
issue-73541-3.stderr
issue-73541.rs
issue-73541.stderr
issue-73741-type-err-drop-tracking.drop_tracking_mir.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-73741-type-err-drop-tracking.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-73741-type-err-drop-tracking.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-73741-type-err-drop-tracking.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-73741-type-err-drop-tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-73741-type-err.rs
issue-73741-type-err.stderr
issue-74047.rs
issue-74047.stderr
issue-74072-lifetime-name-annotations.rs
issue-74072-lifetime-name-annotations.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-74497-lifetime-in-opaque.rs
issue-74497-lifetime-in-opaque.stderr
issue-75785-confusing-named-region.rs
issue-75785-confusing-named-region.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-76547.rs
issue-76547.stderr
issue-77993-2.rs
issue-77993-2.stderr
issue-84841.rs
issue-84841.stderr
issue-86507.drop_tracking_mir.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-86507.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-86507.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-86507.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-93197.rs
issue-93648.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-98634.rs Tweak E0271 wording 2023-01-30 21:51:35 +00:00
issue-98634.stderr Rollup merge of #107201 - compiler-errors:confusing-async-fn-note, r=estebank 2023-02-02 06:52:13 +01:00
issue-101715.rs
issue-101715.stderr
issue-105501.rs
issue-107036.rs Add test 2023-01-19 15:46:08 +00:00
large_moves.attribute.stderr
large_moves.option.stderr
large_moves.rs
move-part-await-return-rest-struct.rs
move-part-await-return-rest-tuple.rs
mutually-recursive-async-impl-trait-type.drop_tracking_mir.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
mutually-recursive-async-impl-trait-type.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
mutually-recursive-async-impl-trait-type.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
mutually-recursive-async-impl-trait-type.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
mutually-recursive-async-impl-trait-type.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
nested-in-impl.rs
no-async-const.rs
no-async-const.stderr
no-const-async.rs
no-const-async.stderr Don't cause a cycle when formatting query description that references a FnDef 2023-02-02 05:49:07 +00:00
no-move-across-await-struct.rs
no-move-across-await-struct.stderr
no-move-across-await-tuple.rs
no-move-across-await-tuple.stderr
no-non-guaranteed-initialization.rs
no-non-guaranteed-initialization.stderr
no-params-non-move-async-closure.rs
no-params-non-move-async-closure.stderr
no-std.rs
no-unsafe-async.rs
no-unsafe-async.stderr
non-trivial-drop.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
partial-drop-partial-reinit.drop_tracking.stderr
partial-drop-partial-reinit.no_drop_tracking.stderr
partial-drop-partial-reinit.rs
partial-initialization-across-await.rs
partial-initialization-across-await.stderr
pin-needed-to-poll-2.rs
pin-needed-to-poll-2.stderr
pin-needed-to-poll.rs
pin-needed-to-poll.stderr
proper-span-for-type-error.fixed
proper-span-for-type-error.rs
proper-span-for-type-error.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
recursive-async-impl-trait-type.drop_tracking_mir.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-async-impl-trait-type.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-async-impl-trait-type.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-async-impl-trait-type.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-async-impl-trait-type.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
repeat_count_const_in_async_fn.rs
return-ty-raw-ptr-coercion.rs
return-ty-unsize-coercion.rs
send-bound-async-closure.rs Bless tests. 2023-01-27 20:10:17 +00:00
suggest-missing-await-closure.fixed
suggest-missing-await-closure.rs
suggest-missing-await-closure.stderr Remove confusing 'while checking' note from opaque future type mismatches 2023-01-22 17:02:47 +00:00
suggest-missing-await.rs
suggest-missing-await.stderr Rollup merge of #107201 - compiler-errors:confusing-async-fn-note, r=estebank 2023-02-02 06:52:13 +01:00
suggest-switching-edition-on-await-cargo.rs
suggest-switching-edition-on-await-cargo.stderr
suggest-switching-edition-on-await.rs
suggest-switching-edition-on-await.stderr
try-on-option-in-async.rs
try-on-option-in-async.stderr
type-parameter-send.rs
unnecessary-await.rs
unnecessary-await.stderr
unreachable-lint-1.rs
unreachable-lint-1.stderr
unreachable-lint.rs
unresolved_type_param.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
unresolved_type_param.drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
unresolved_type_param.no_drop_tracking.stderr Bless tests. 2023-01-27 20:10:17 +00:00
unresolved_type_param.rs Bless tests. 2023-01-27 20:10:17 +00:00
unresolved_type_param.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
unused-lifetime.rs
unused-lifetime.stderr