rust/tests/ui/async-await
bors 39e0749329 Auto merge of #114914 - compiler-errors:deduce-tait-in-future-output, r=lcnr
Normalize return type of `deduce_future_output_from_obligations`

Fixes #114909
Also confirmed to fix #114727 manually

Now that we have weak/lazy type aliases, we need to normalize those in future signatures to ensure that `replace_opaque_types_with_inference_vars` actually sees TAITs behind them. This isn't needed in the new solver, but added a test to make sure it doesn't regress there either.

r? types cc `@oli-obk` (who's gone, worst case can delay this PR until he's back)
2023-08-20 06:24:44 +00:00
..
auxiliary
await-keyword blessed the tests 2023-08-08 10:51:35 +08:00
drop-order
future-sizes bless tests 2023-04-27 22:29:04 +02:00
in-trait Bugfix: 'can_have_side_effects()' would return 'false' for struct/enum/array/tuple literals unless *all* sub-expressions had side effects. This would easily allow side effects to slip through, and also wrongly label empty literals as having side effects. Add some tests for the last point 2023-08-10 02:26:11 +02:00
issues Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
multiple-lifetimes Adjust tests for new drop and forget lints 2023-05-10 19:36:02 +02:00
return-type-notation Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
track-caller Add separate feature gate for async fn track caller 2023-08-02 14:18:21 -07:00
argument-patterns.rs
async-assoc-fn-anon-lifetimes.rs
async-await-let-else.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
async-await-let-else.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
async-await-let-else.drop-tracking.stderr
async-await-let-else.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
async-await-let-else.no-drop-tracking.stderr
async-await-let-else.rs
async-await.rs
async-block-control-flow-static-semantics.rs
async-block-control-flow-static-semantics.stderr Note base types of coercion 2023-05-12 00:10:52 +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
async-error-span.drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
async-error-span.no_drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
async-error-span.rs
async-fn-elided-impl-lifetime-parameter.rs
async-fn-nonsend.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
async-fn-nonsend.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
async-fn-nonsend.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
async-fn-nonsend.rs
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 Tweak await span 2023-04-27 17:18:11 +00:00
async-matches-expr.rs
async-trait-fn.current.stderr
async-trait-fn.next.stderr
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
await-unsize.rs
bound-normalization.rs
clone-suggestion.fixed Tweak await span 2023-04-27 17:18:11 +00:00
clone-suggestion.rs Tweak await span 2023-04-27 17:18:11 +00:00
clone-suggestion.stderr Don't use method span on clone suggestion 2023-07-10 20:09:28 +00:00
conditional-and-guaranteed-initialization.rs
deep-futures-are-freeze.rs Normalize before checking if local is freeze in deduced_param_attrs 2023-08-17 14:33:24 -07:00
default-struct-update.rs
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
drop-and-assign.rs
drop-track-bad-field-in-fru.rs
drop-track-bad-field-in-fru.stderr Don't mention already set fields 2023-06-05 21:00:08 +00:00
drop-track-field-assign-nonsend.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
drop-track-field-assign-nonsend.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
drop-track-field-assign-nonsend.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
drop-track-field-assign-nonsend.rs
drop-track-field-assign.rs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
drop-tracking-unresolved-typeck-results.rs
drop-tracking-unresolved-typeck-results.stderr
edition-deny-async-fns-2015.current.stderr
edition-deny-async-fns-2015.next.stderr
edition-deny-async-fns-2015.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
edition-deny-async-fns-2015.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
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 Extend and use hir::Node::body_id 2023-04-19 19:13:45 +00:00
field-assign-nonsend.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
field-assign-nonsend.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
field-assign-nonsend.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
field-assign-nonsend.rs
field-assign.rs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
futures-api.rs
generator-desc.rs
generator-desc.stderr
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
issue-61076.stderr
issue-61452.rs
issue-61452.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
issue-61793.rs
issue-61949-self-return-type.rs
issue-61949-self-return-type.stderr Extend and use hir::Node::body_id 2023-04-19 19:13:45 +00:00
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 Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-64130-1-sync.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-64130-1-sync.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-64130-1-sync.rs
issue-64130-2-send.drop_tracking_mir.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-64130-2-send.drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-64130-2-send.no_drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-64130-2-send.rs
issue-64130-3-other.drop_tracking_mir.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-64130-3-other.drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-64130-3-other.no_drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-64130-3-other.rs
issue-64130-4-async-move.drop-tracking.stderr
issue-64130-4-async-move.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-64130-4-async-move.rs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
issue-64130-non-send-future-diags.rs
issue-64130-non-send-future-diags.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
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 Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-67252-unnamed-future.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-67252-unnamed-future.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-67252-unnamed-future.rs
issue-67651.rs
issue-67651.stderr
issue-67765-async-diagnostic.rs
issue-67765-async-diagnostic.stderr
issue-68112.drop_tracking_mir.stderr
issue-68112.drop_tracking.stderr
issue-68112.no_drop_tracking.stderr
issue-68112.rs
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 Tweak await span 2023-04-27 17:18:11 +00:00
issue-70818.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-70818.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-70818.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-70818.rs
issue-70935-complex-spans.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-70935-complex-spans.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-70935-complex-spans.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-70935-complex-spans.rs update failing ui tests 2023-06-20 19:46:01 -04:00
issue-71137.rs
issue-71137.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
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
issue-73741-type-err-drop-tracking.drop_tracking.stderr
issue-73741-type-err-drop-tracking.no_drop_tracking.stderr
issue-73741-type-err-drop-tracking.rs
issue-73741-type-err.rs
issue-73741-type-err.stderr
issue-74047.rs
issue-74047.stderr Make missing impl item suggestions more obvious that they're missing 2023-04-19 17:57:37 +00:00
issue-74072-lifetime-name-annotations.rs
issue-74072-lifetime-name-annotations.stderr
issue-74497-lifetime-in-opaque.rs
issue-74497-lifetime-in-opaque.stderr
issue-75785-confusing-named-region.rs
issue-75785-confusing-named-region.stderr
issue-76547.rs
issue-76547.stderr
issue-77993-2.rs
issue-77993-2.stderr
issue-78115.rs Move tests 2023-05-24 19:35:59 -03:00
issue-84841.rs
issue-84841.stderr
issue-86507.drop_tracking_mir.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-86507.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-86507.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
issue-86507.rs
issue-93197.rs
issue-93648.rs
issue-98634.rs
issue-98634.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-101715.rs
issue-101715.stderr tweak removal span 2023-04-27 17:18:12 +00:00
issue-105501.rs
issue-107036.rs
issue-108572.rs
issue-108572.stderr
large_moves.attribute.stderr
large_moves.option.stderr
large_moves.rs
missed-capture-issue-107414.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
mutually-recursive-async-impl-trait-type.drop_tracking.stderr
mutually-recursive-async-impl-trait-type.no_drop_tracking.stderr
mutually-recursive-async-impl-trait-type.rs
nested-in-impl.rs
no-async-const.rs
no-async-const.stderr
no-const-async.rs
no-const-async.stderr
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 Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
normalize-output-in-signature-deduction.rs Normalize return type of deduce_future_output_from_obligations 2023-08-16 14:28:19 -07:00
partial-drop-partial-reinit.drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
partial-drop-partial-reinit.no_drop_tracking.stderr Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
partial-drop-partial-reinit.rs Suggest using Arc on !Send/!Sync types 2023-08-09 14:04:10 +00:00
partial-initialization-across-await.rs
partial-initialization-across-await.stderr
pin-needed-to-poll-2.rs
pin-needed-to-poll-2.stderr Added diagnostic for pin! macro in addition to Box::pin if Unpin isn't implemented 2023-04-12 18:03:11 -04:00
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
recursive-async-impl-trait-type.drop_tracking_mir.stderr
recursive-async-impl-trait-type.drop_tracking.stderr
recursive-async-impl-trait-type.no_drop_tracking.stderr
recursive-async-impl-trait-type.rs
repeat_count_const_in_async_fn.rs
return-ty-raw-ptr-coercion.rs
return-ty-unsize-coercion.rs
send-bound-async-closure.rs
suggest-missing-await-closure.fixed
suggest-missing-await-closure.rs
suggest-missing-await-closure.stderr
suggest-missing-await.rs
suggest-missing-await.stderr
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
task-context-arg.rs Preserve argument indexes when inlining MIR 2023-04-11 11:07:48 +10:00
try-on-option-in-async.rs
try-on-option-in-async.stderr
type-parameter-send.rs
unnecessary-await.rs Make async removal span more resilient to macro expansions 2023-04-27 18:25:07 +00:00
unnecessary-await.stderr Make async removal span more resilient to macro expansions 2023-04-27 18:25:07 +00:00
unreachable-lint-1.rs
unreachable-lint-1.stderr
unreachable-lint.rs
unresolved_type_param.drop_tracking_mir.stderr
unresolved_type_param.drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
unresolved_type_param.no_drop_tracking.stderr Tweak await span 2023-04-27 17:18:11 +00:00
unresolved_type_param.rs
unused-lifetime.rs
unused-lifetime.stderr