rust/compiler
Matthias Krüger eb9859f00d
Rollup merge of #90933 - compiler-errors:master, r=estebank
Fix await suggestion on non-future type

Remove a match block that would suggest to add `.await` in the case where the expected type's `Future::Output` equals the found type. We only want to suggest `.await`ing in the opposite case (the found type's `Future::Output` equals the expected type).

The code sample is here: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=6ba6b83d4dddda263553b79dca9f6bcb

Before:
```
➜  ~ rustc --edition=2021 --crate-type=lib test.rs
error[E0308]: `match` arms have incompatible types
 --> test.rs:4:14
  |
2 |       let x = match 1 {
  |  _____________-
3 | |         1 => other(),
  | |              ------- this is found to be of type `impl Future`
4 | |         2 => other().await,
  | |              ^^^^^^^^^^^^^ expected opaque type, found enum `Result`
5 | |     };
  | |_____- `match` arms have incompatible types
  |
  = note: expected type `impl Future`
             found enum `Result<(), ()>`
help: consider `await`ing on the `Future`
  |
4 |         2 => other().await.await,
  |                           ++++++

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.
```

After:
```
➜  ~ rustc +stage1 --edition=2021 --crate-type=lib test.rs
error[E0308]: `match` arms have incompatible types
 --> test.rs:4:14
  |
2 |       let x = match 1 {
  |  _____________-
3 | |         1 => other(),
  | |              ------- this is found to be of type `impl Future`
4 | |         2 => other().await,
  | |              ^^^^^^^^^^^^^ expected opaque type, found enum `Result`
5 | |     };
  | |_____- `match` arms have incompatible types
  |
  = note: expected type `impl Future`
             found enum `Result<(), ()>`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.
```

Fixes #90931
2021-11-16 23:58:24 +01:00
..
rustc Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_apfloat Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_arena Remove DropArena. 2021-11-15 18:33:43 +11:00
rustc_ast Auto merge of #89316 - asquared31415:multiple-clobber-abi, r=Amanieu 2021-11-12 16:29:25 +00:00
rustc_ast_lowering Add support for specifying multiple clobber_abi in asm! 2021-11-10 01:06:03 -05:00
rustc_ast_passes rustc_feature: Convert BuiltinAttribute from tuple to a struct 2021-11-12 20:15:14 +08:00
rustc_ast_pretty Add support for specifying multiple clobber_abi in asm! 2021-11-10 01:06:03 -05:00
rustc_attr Correct typo 2021-10-16 13:36:05 -07:00
rustc_borrowck Rollup merge of #90801 - b-naber:missing_normalization_equate_inputs_output, r=jackh726 2021-11-16 15:59:39 +09:00
rustc_builtin_macros Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_codegen_cranelift Make hash_result an Option. 2021-10-20 18:29:18 +02:00
rustc_codegen_gcc Auto merge of #89652 - rcvalle:rust-cfi, r=nagisa 2021-10-27 09:19:42 +00:00
rustc_codegen_llvm Rollup merge of #88868 - calebzulawski:feature/simd_bitmask, r=workingjubilee 2021-11-10 18:52:27 +01:00
rustc_codegen_ssa Rollup merge of #90058 - joshtriplett:stabilize-strip, r=wesleywiser 2021-11-16 09:14:16 +09:00
rustc_const_eval Rollup merge of #90892 - RalfJung:miri-partial-ptr-copy, r=oli-obk 2021-11-16 09:14:22 +09:00
rustc_data_structures Add #[inline]s to SortedIndexMultiMap 2021-11-11 08:35:59 +09:00
rustc_driver Don't proceed to codegen if there are lint errors 2021-11-08 01:22:28 +00:00
rustc_error_codes Update Copy/Clone documentation WRT arrays 2021-11-08 13:11:59 -05:00
rustc_errors Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_expand Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_feature Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_fs_util Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_graphviz Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_hir Auto merge of #90919 - nnethercote:rm-DropArena, r=Mark-Simulacrum 2021-11-16 11:48:37 +00:00
rustc_hir_pretty Auto merge of #89124 - cjgillot:owner-info, r=michaelwoerister 2021-10-18 19:53:05 +00:00
rustc_incremental Remove rustc_incremental::persist::fs::dep_graph_path_from 2021-11-09 10:58:11 -06:00
rustc_index Generate documentation in rustc rustc_index::newtype_index macro 2021-11-13 18:50:29 -06:00
rustc_infer Fix await suggestion better 2021-11-16 13:30:01 -08:00
rustc_interface Stabilize -Z strip as -C strip 2021-11-15 10:21:02 +01:00
rustc_lexer use matches!() macro in more places 2021-11-06 16:13:14 +01:00
rustc_lint Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_lint_defs Properly register text_direction_codepoint_in_comment lint. 2021-11-05 20:12:40 +01:00
rustc_llvm PassWrapper: additional sanitizer update to match clang 2021-11-11 09:05:21 -05:00
rustc_macros more clippy fixes 2021-11-07 16:59:05 +01:00
rustc_metadata Add ty::Visibility::is_public() 2021-11-09 18:35:00 -08:00
rustc_middle Auto merge of #90919 - nnethercote:rm-DropArena, r=Mark-Simulacrum 2021-11-16 11:48:37 +00:00
rustc_mir_build Rollup merge of #90925 - krasimirgg:rustc_mir_build_fix, r=petrochenkov 2021-11-16 15:59:42 +09:00
rustc_mir_dataflow Use associated_item_def_ids more 2021-11-11 23:15:57 +00:00
rustc_mir_transform impl Copy/Clone for arrays in std, not in compiler 2021-11-08 13:11:58 -05:00
rustc_monomorphize Rollup merge of #90701 - michaelwoerister:more-artifact-sizes, r=davidtwco 2021-11-09 19:00:45 +01:00
rustc_parse rustc_feature: Convert BuiltinAttribute from tuple to a struct 2021-11-12 20:15:14 +08:00
rustc_parse_format Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_passes Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_plugin_impl Move rustc_middle::middle::cstore to rustc_session. 2021-10-03 16:08:51 +02:00
rustc_privacy Add ty::Visibility::is_public() 2021-11-09 18:35:00 -08:00
rustc_query_impl Revert "Add rustc lint, warning when iterating over hashmaps" 2021-10-28 11:01:42 -04:00
rustc_query_system Auto merge of #90361 - Mark-Simulacrum:always-verify, r=michaelwoerister 2021-11-08 13:38:08 +00:00
rustc_resolve Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_save_analysis Give inline const separate DefKind 2021-11-07 03:59:06 +00:00
rustc_serialize Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_session Stabilize -Z strip as -C strip 2021-11-15 10:21:02 +01:00
rustc_span Auto merge of #90485 - camsteffen:fmt-args-less-bind, r=m-ou-se 2021-11-09 05:33:16 +00:00
rustc_symbol_mangling Revert "Add rustc lint, warning when iterating over hashmaps" 2021-10-28 11:01:42 -04:00
rustc_target Android is not GNU 2021-11-12 09:09:08 -08:00
rustc_trait_selection Rollup merge of #90819 - JakobDegen:issue-90804, r=petrochenkov 2021-11-16 15:59:40 +09:00
rustc_traits Make select_* methods return Vec for TraitEngine 2021-11-08 23:35:23 +08:00
rustc_ty_utils Recurse through query system when checking ADT drop types, hopefully improving perf 2021-11-13 14:47:17 -05:00
rustc_type_ir Add two inline annotations for hot functions 2021-10-03 12:43:43 -04:00
rustc_typeck Rollup merge of #90803 - TaKO8Ki:suggest-chars-on-attempt-to-iter, r=estebank 2021-11-16 15:59:39 +09:00