rust/compiler
bors e0e70c0c2c Auto merge of #90677 - bobrippling:suggest-tuple-parens, r=camelid
Suggest tuple-parentheses for enum variants

This follows on from #86493 / #86481, making the parentheses suggestion. To summarise, given the following code:

```rust
fn f() -> Option<(i32, i8)> {
    Some(1, 2)
}
```

The current output is:

```
error[E0061]: this enum variant takes 1 argument but 2 arguments were supplied
 --> b.rs:2:5
  |
2 |     Some(1, 2)
  |     ^^^^ -  - supplied 2 arguments
  |     |
  |     expected 1 argument

error: aborting due to previous error

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

With this change, `rustc` will now suggest parentheses when:
- The callee is expecting a single tuple argument
- The number of arguments passed matches the element count in the above tuple
- The arguments' types match the tuple's fields

```
error[E0061]: this enum variant takes 1 argument but 2 arguments were supplied
 --> b.rs:2:5
  |
2 |     Some(1, 2)
  |     ^^^^ -  - supplied 2 arguments
  |
help: use parentheses to construct a tuple
  |
2 |     Some((1, 2))
  |          +    +
```
2022-01-28 09:46:22 +00:00
..
rustc Remove useless #[global_allocator] from rustc and rustdoc. 2021-12-23 17:23:21 +11:00
rustc_apfloat Stabilize iter::zip. 2021-12-14 18:50:31 -04:00
rustc_arena Clarify ArenaAllocatable's second parameter. 2022-01-28 07:37:10 +11:00
rustc_ast Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_ast_lowering Filter out local_id == 0, those are already considered on the call site 2022-01-26 12:25:31 -03:00
rustc_ast_passes Auto merge of #92896 - lqd:update-deps, r=Mark-Simulacrum 2022-01-21 10:38:30 +00:00
rustc_ast_pretty try apply rustc_pass_by_value to Span 2022-01-27 11:29:41 +01:00
rustc_attr Remove unnecessary sigils around Symbol::as_str() calls. 2021-12-15 17:32:14 +11:00
rustc_borrowck Auto merge of #93095 - Aaron1011:remove-assoc-ident, r=cjgillot 2022-01-25 18:53:45 +00:00
rustc_builtin_macros Fix comment about spans during borrowck per PR 91359 review 2022-01-17 10:38:30 -08:00
rustc_codegen_cranelift Use an indexmap to avoid sorting LocalDefIds 2022-01-22 22:34:16 -06:00
rustc_codegen_gcc Add preliminary support for inline assembly for msp430. 2022-01-22 23:42:46 -05:00
rustc_codegen_llvm Rollup merge of #93269 - jacobbramley:dev/pauth-option-1, r=petrochenkov 2022-01-25 05:51:14 +01:00
rustc_codegen_ssa Rollup merge of #92828 - Amanieu:unwind-abort, r=dtolnay 2022-01-22 15:32:49 +01:00
rustc_const_eval Auto merge of #93028 - compiler-errors:const_drop_bounds, r=fee1-dead 2022-01-24 08:05:37 +00:00
rustc_data_structures Rollup merge of #93193 - Kobzol:stable-hash-permutation-test, r=the8472 2022-01-27 22:32:24 +01:00
rustc_driver Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_error_codes Reject unsupported naked functions 2022-01-21 17:38:21 +01:00
rustc_errors Rollup merge of #93229 - mark-i-m:noquiet, r=eddyb 2022-01-23 20:13:07 +01:00
rustc_expand expand: Pass everything by reference to pre-expansion lint callback 2022-01-23 19:31:32 +08:00
rustc_feature update pass_by_value 2022-01-27 07:58:33 +01:00
rustc_fs_util Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_graphviz eplace usages of vec![].into_iter with [].into_iter 2022-01-09 14:09:25 +11:00
rustc_hir Store hir_id_to_def_id in OwnerInfo. 2022-01-25 15:05:19 -03:00
rustc_hir_pretty try apply rustc_pass_by_value to Span 2022-01-27 11:29:41 +01:00
rustc_incremental Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_index Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_infer Auto merge of #93095 - Aaron1011:remove-assoc-ident, r=cjgillot 2022-01-25 18:53:45 +00:00
rustc_interface expand: Pass everything by reference to pre-expansion lint callback 2022-01-23 19:31:32 +08:00
rustc_lexer Auto merge of #91393 - Julian-Wollersberger:lexer_optimization, r=petrochenkov 2021-12-03 13:20:14 +00:00
rustc_lint Rollup merge of #93363 - lcnr:pass-by-value, r=petrochenkov 2022-01-27 22:32:29 +01:00
rustc_lint_defs Remove deduplication of early lints 2022-01-23 17:05:48 -05:00
rustc_llvm Use error-on-mismatch policy for PAuth module flags. 2022-01-24 16:50:10 +00:00
rustc_log Make rustc_log doc test runnable 2022-01-03 22:31:56 -08:00
rustc_macros Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_metadata Auto merge of #88679 - petrochenkov:doctrscope, r=GuillaumeGomez 2022-01-26 09:10:27 +00:00
rustc_middle try apply rustc_pass_by_value to Span 2022-01-27 11:29:41 +01:00
rustc_mir_build Ignore unwinding edges when checking for unconditional recursion 2022-01-26 13:46:01 +01:00
rustc_mir_dataflow Remove deprecated LLVM-style inline assembly 2022-01-12 18:51:31 +01:00
rustc_mir_transform try apply rustc_pass_by_value to Span 2022-01-27 11:29:41 +01:00
rustc_monomorphize Change TerminatorKind::Abort to call the panic handler instead of 2022-01-17 00:39:34 +00:00
rustc_parse Introduce a limit to Levenshtein distance computation 2022-01-26 12:38:22 +01:00
rustc_parse_format Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_passes Reject unsupported naked functions 2022-01-21 17:38:21 +01:00
rustc_plugin_impl replace dynamic library module with libloading 2021-12-06 12:03:47 -05:00
rustc_privacy Remove a span from hir::ExprKind::MethodCall 2022-01-21 07:48:10 -06:00
rustc_query_impl Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_query_system Address review comments. 2022-01-22 10:38:34 +11:00
rustc_resolve rustdoc: Pre-calculate traits that are in scope for doc links 2022-01-25 21:45:21 +08:00
rustc_save_analysis Remove a span from hir::ExprKind::MethodCall 2022-01-21 07:48:10 -06:00
rustc_serialize Auto merge of #90842 - pierwill:localdefid-indexmap, r=wesleywiser 2022-01-24 22:04:55 +00:00
rustc_session Rollup merge of #93229 - mark-i-m:noquiet, r=eddyb 2022-01-23 20:13:07 +01:00
rustc_span Rollup merge of #93363 - lcnr:pass-by-value, r=petrochenkov 2022-01-27 22:32:29 +01:00
rustc_symbol_mangling Auto merge of #93095 - Aaron1011:remove-assoc-ident, r=cjgillot 2022-01-25 18:53:45 +00:00
rustc_target Add preliminary support for inline assembly for msp430. 2022-01-22 23:42:46 -05:00
rustc_trait_selection Auto merge of #93343 - lqd:attrs, r=spastorino 2022-01-28 06:28:08 +00:00
rustc_traits ⬆ chalk to 0.76.0 2022-01-19 13:44:43 -06:00
rustc_ty_utils Store a Symbol instead of an Ident in AssocItem 2022-01-19 17:13:21 -05:00
rustc_type_ir initial revert 2022-01-15 01:16:55 +00:00
rustc_typeck Auto merge of #90677 - bobrippling:suggest-tuple-parens, r=camelid 2022-01-28 09:46:22 +00:00