]> git.lizzy.rs Git - rust.git/commitdiff
Tweak output
authorEsteban Küber <esteban@kuber.com.ar>
Fri, 6 Jan 2023 02:49:15 +0000 (02:49 +0000)
committerEsteban Küber <esteban@kuber.com.ar>
Fri, 6 Jan 2023 04:37:29 +0000 (04:37 +0000)
compiler/rustc_hir_typeck/src/_match.rs
compiler/rustc_hir_typeck/src/demand.rs
compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
src/test/ui/type/binding-assigned-block-without-tail-expression.stderr

index b47a5cf993b43ba5d31580196ebfb667b7dd38e8..b6f19d3cc684ae1d84fc97b0c1f3fd390af54975 100644 (file)
@@ -224,14 +224,12 @@ fn suggest_removing_semicolon_for_coerce(
         let mut ret_span: MultiSpan = semi_span.into();
         ret_span.push_span_label(
             expr.span,
-            "this could be implicitly returned but it is a statement, not a \
-                            tail expression",
+            "this could be implicitly returned but it is a statement, not a tail expression",
         );
         ret_span.push_span_label(ret, "the `match` arms can conform to this return type");
         ret_span.push_span_label(
             semi_span,
-            "the `match` is a statement because of this semicolon, consider \
-                            removing it",
+            "the `match` is a statement because of this semicolon, consider removing it",
         );
         diag.span_note(ret_span, "you might have meant to return the `match` expression");
         diag.tool_only_span_suggestion(
index a9e6b1411700968b7c9bc09347192ba0083a521a..bbe15eb589daffa0b1233dc2da74ddca1e36ffd6 100644 (file)
@@ -1699,20 +1699,20 @@ fn check_for_binding_assigned_block_without_tail_expression(
             return;
         }
         let [.., stmt] = block.stmts else {
-            err.span_help(block.span, "this empty block is missing a tail expression");
+            err.span_label(block.span, "this empty block is missing a tail expression");
             return;
         };
         let hir::StmtKind::Semi(tail_expr) = stmt.kind else { return; };
         let Some(ty) = self.node_ty_opt(tail_expr.hir_id) else { return; };
         if self.can_eq(self.param_env, expected_ty, ty).is_ok() {
-            err.span_suggestion_verbose(
+            err.span_suggestion_short(
                 stmt.span.with_lo(tail_expr.span.hi()),
                 "remove this semicolon",
                 "",
                 Applicability::MachineApplicable,
             );
         } else {
-            err.span_help(block.span, "this block is missing a tail expression");
+            err.span_label(block.span, "this block is missing a tail expression");
         }
     }
 }
index ad2711209e259426f9347c2415de937170b7d01d..d0c2359f06f9877667b7782399db2f5d86d754ca 100644 (file)
@@ -1077,12 +1077,12 @@ fn check_for_binding_assigned_block_without_tail_expression(
             return;
         }
         let [.., stmt] = block.stmts else {
-            err.span_help(block.span, "this empty block is missing a tail expression");
+            err.span_label(block.span, "this empty block is missing a tail expression");
             return;
         };
         let hir::StmtKind::Semi(tail_expr) = stmt.kind else { return; };
         let Some(ty) = typeck.expr_ty_opt(tail_expr) else {
-            err.span_help(block.span, "this block is missing a tail expression");
+            err.span_label(block.span, "this block is missing a tail expression");
             return;
         };
         let ty = self.resolve_numeric_literals_with_default(self.resolve_vars_if_possible(ty));
@@ -1091,14 +1091,14 @@ fn check_for_binding_assigned_block_without_tail_expression(
         let new_obligation =
             self.mk_trait_obligation_with_new_self_ty(obligation.param_env, trait_pred_and_self);
         if self.predicate_must_hold_modulo_regions(&new_obligation) {
-            err.span_suggestion_verbose(
+            err.span_suggestion_short(
                 stmt.span.with_lo(tail_expr.span.hi()),
                 "remove this semicolon",
                 "",
                 Applicability::MachineApplicable,
             );
         } else {
-            err.span_help(block.span, "this block is missing a tail expression");
+            err.span_label(block.span, "this block is missing a tail expression");
         }
     }
 
index 646c632517aea401b8017b8bf801794497d74dd7..3e96d7f317b4a05f44a169abb6785bd74620effc 100644 (file)
@@ -1,29 +1,25 @@
 error[E0277]: `()` doesn't implement `std::fmt::Display`
   --> $DIR/binding-assigned-block-without-tail-expression.rs:14:20
    |
+LL |         42;
+   |           - help: remove this semicolon
+...
 LL |     println!("{}", x);
    |                    ^ `()` cannot be formatted with the default formatter
    |
    = help: the trait `std::fmt::Display` is not implemented for `()`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
-help: remove this semicolon
-   |
-LL -         42;
-LL +         42
-   |
 
 error[E0277]: `()` doesn't implement `std::fmt::Display`
   --> $DIR/binding-assigned-block-without-tail-expression.rs:15:20
    |
+LL |     let y = {};
+   |             -- this empty block is missing a tail expression
+...
 LL |     println!("{}", y);
    |                    ^ `()` cannot be formatted with the default formatter
    |
-help: this empty block is missing a tail expression
-  --> $DIR/binding-assigned-block-without-tail-expression.rs:7:13
-   |
-LL |     let y = {};
-   |             ^^
    = help: the trait `std::fmt::Display` is not implemented for `()`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -31,32 +27,28 @@ LL |     let y = {};
 error[E0277]: `()` doesn't implement `std::fmt::Display`
   --> $DIR/binding-assigned-block-without-tail-expression.rs:16:20
    |
+LL |         "hi";
+   |             - help: remove this semicolon
+...
 LL |     println!("{}", z);
    |                    ^ `()` cannot be formatted with the default formatter
    |
    = help: the trait `std::fmt::Display` is not implemented for `()`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
-help: remove this semicolon
-   |
-LL -         "hi";
-LL +         "hi"
-   |
 
 error[E0277]: `()` doesn't implement `std::fmt::Display`
   --> $DIR/binding-assigned-block-without-tail-expression.rs:17:20
    |
-LL |     println!("{}", s);
-   |                    ^ `()` cannot be formatted with the default formatter
-   |
-help: this block is missing a tail expression
-  --> $DIR/binding-assigned-block-without-tail-expression.rs:11:13
-   |
 LL |       let s = {
-   |  _____________^
+   |  _____________-
 LL | |         S;
 LL | |     };
-   | |_____^
+   | |_____- this block is missing a tail expression
+...
+LL |       println!("{}", s);
+   |                      ^ `()` cannot be formatted with the default formatter
+   |
    = help: the trait `std::fmt::Display` is not implemented for `()`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
@@ -64,64 +56,52 @@ LL | |     };
 error[E0308]: mismatched types
   --> $DIR/binding-assigned-block-without-tail-expression.rs:18:18
    |
+LL |         42;
+   |           - help: remove this semicolon
+...
 LL |     let _: i32 = x;
    |            ---   ^ expected `i32`, found `()`
    |            |
    |            expected due to this
-   |
-help: remove this semicolon
-   |
-LL -         42;
-LL +         42
-   |
 
 error[E0308]: mismatched types
   --> $DIR/binding-assigned-block-without-tail-expression.rs:19:18
    |
+LL |     let y = {};
+   |             -- this empty block is missing a tail expression
+...
 LL |     let _: i32 = y;
    |            ---   ^ expected `i32`, found `()`
    |            |
    |            expected due to this
-   |
-help: this empty block is missing a tail expression
-  --> $DIR/binding-assigned-block-without-tail-expression.rs:7:13
-   |
-LL |     let y = {};
-   |             ^^
 
 error[E0308]: mismatched types
   --> $DIR/binding-assigned-block-without-tail-expression.rs:20:18
    |
-LL |     let _: i32 = z;
-   |            ---   ^ expected `i32`, found `()`
-   |            |
-   |            expected due to this
-   |
-help: this block is missing a tail expression
-  --> $DIR/binding-assigned-block-without-tail-expression.rs:8:13
-   |
 LL |       let z = {
-   |  _____________^
+   |  _____________-
 LL | |         "hi";
 LL | |     };
-   | |_____^
+   | |_____- this block is missing a tail expression
+...
+LL |       let _: i32 = z;
+   |              ---   ^ expected `i32`, found `()`
+   |              |
+   |              expected due to this
 
 error[E0308]: mismatched types
   --> $DIR/binding-assigned-block-without-tail-expression.rs:21:18
    |
-LL |     let _: i32 = s;
-   |            ---   ^ expected `i32`, found `()`
-   |            |
-   |            expected due to this
-   |
-help: this block is missing a tail expression
-  --> $DIR/binding-assigned-block-without-tail-expression.rs:11:13
-   |
 LL |       let s = {
-   |  _____________^
+   |  _____________-
 LL | |         S;
 LL | |     };
-   | |_____^
+   | |_____- this block is missing a tail expression
+...
+LL |       let _: i32 = s;
+   |              ---   ^ expected `i32`, found `()`
+   |              |
+   |              expected due to this
 
 error: aborting due to 8 previous errors