about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authormibac138 <5672750+mibac138@users.noreply.github.com>2020-05-07 23:45:51 +0200
committermibac138 <5672750+mibac138@users.noreply.github.com>2020-05-20 22:18:19 +0200
commit6ad24baf06c687517f188e8c6e6ce848924d001c (patch)
tree853bbd2cfdcc2ccab42ce4fcc0e6498f1b388dc9 /src
parent05d653199871955eba90abdd3b176603f030ab60 (diff)
downloadrust-6ad24baf06c687517f188e8c6e6ce848924d001c.tar.gz
rust-6ad24baf06c687517f188e8c6e6ce848924d001c.zip
Adjust according to estebank's review comments
Diffstat (limited to 'src')
-rw-r--r--src/librustc_parse/parser/stmt.rs19
-rw-r--r--src/test/ui/parser/let-binop-plus.rs2
-rw-r--r--src/test/ui/parser/let-binop-plus.stderr4
-rw-r--r--src/test/ui/parser/let-binop.rs6
-rw-r--r--src/test/ui/parser/let-binop.stderr20
5 files changed, 24 insertions, 27 deletions
diff --git a/src/librustc_parse/parser/stmt.rs b/src/librustc_parse/parser/stmt.rs
index 224f4ebf538..bec810fde08 100644
--- a/src/librustc_parse/parser/stmt.rs
+++ b/src/librustc_parse/parser/stmt.rs
@@ -174,7 +174,10 @@ impl<'a> Parser<'a> {
         } else {
             (None, None)
         };
-        let init = match (self.parse_initializer(let_span, ty.is_some(), err.is_some()), err) {
+        let init = match (
+            self.parse_initializer(let_span.until(pat.span), ty.is_some(), err.is_some()),
+            err,
+        ) {
             (Ok(init), None) => {
                 // init parsed, ty parsed
                 init
@@ -231,25 +234,19 @@ impl<'a> Parser<'a> {
                 self.sess.span_diagnostic,
                 self.token.span,
                 E0067,
-                "can't reassign to a uninitialized variable"
+                "can't reassign to an uninitialized variable"
             );
             err.span_suggestion_short(
                 self.token.span,
-                "replace with `=` to initialize the variable",
+                "initialize the variable",
                 "=".to_string(),
-                if has_ty {
-                    // for `let x: i8 += 1` it's highly likely that the `+` is a typo
-                    Applicability::MachineApplicable
-                } else {
-                    // for `let x += 1` it's a bit less likely that the `+` is a typo
-                    Applicability::MaybeIncorrect
-                },
+                Applicability::MaybeIncorrect,
             );
             // In case of code like `let x += 1` it's possible the user may have meant to write `x += 1`
             if !has_ty {
                 err.span_suggestion_short(
                     let_span,
-                    "remove to reassign to a previously initialized variable",
+                    "otherwise, reassign to a previously initialized variable",
                     "".to_string(),
                     Applicability::MaybeIncorrect,
                 );
diff --git a/src/test/ui/parser/let-binop-plus.rs b/src/test/ui/parser/let-binop-plus.rs
index 98473e9f096..4d6d9b5c8d3 100644
--- a/src/test/ui/parser/let-binop-plus.rs
+++ b/src/test/ui/parser/let-binop-plus.rs
@@ -3,6 +3,6 @@
 fn main() {
     let a: i8 += 1;
     //~^ ERROR expected trait, found builtin type `i8`
-    //~| ERROR can't reassign to a uninitialized variable
+    //~| ERROR can't reassign to an uninitialized variable
     let _ = a;
 }
diff --git a/src/test/ui/parser/let-binop-plus.stderr b/src/test/ui/parser/let-binop-plus.stderr
index d7d84ff16a0..91a59fe24fe 100644
--- a/src/test/ui/parser/let-binop-plus.stderr
+++ b/src/test/ui/parser/let-binop-plus.stderr
@@ -1,8 +1,8 @@
-error[E0067]: can't reassign to a uninitialized variable
+error[E0067]: can't reassign to an uninitialized variable
   --> $DIR/let-binop-plus.rs:4:16
    |
 LL |     let a: i8 += 1;
-   |                ^ help: replace with `=` to initialize the variable
+   |                ^ help: initialize the variable
 
 error[E0404]: expected trait, found builtin type `i8`
   --> $DIR/let-binop-plus.rs:4:12
diff --git a/src/test/ui/parser/let-binop.rs b/src/test/ui/parser/let-binop.rs
index d445ab6bb8a..7f58f5df2d4 100644
--- a/src/test/ui/parser/let-binop.rs
+++ b/src/test/ui/parser/let-binop.rs
@@ -1,8 +1,8 @@
 fn main() {
-    let a: i8 *= 1; //~ ERROR can't reassign to a uninitialized variable
+    let a: i8 *= 1; //~ ERROR can't reassign to an uninitialized variable
     let _ = a;
-    let b += 1; //~ ERROR can't reassign to a uninitialized variable
+    let b += 1; //~ ERROR can't reassign to an uninitialized variable
     let _ = b;
-    let c *= 1; //~ ERROR can't reassign to a uninitialized variable
+    let c *= 1; //~ ERROR can't reassign to an uninitialized variable
     let _ = c;
 }
diff --git a/src/test/ui/parser/let-binop.stderr b/src/test/ui/parser/let-binop.stderr
index c37612430ce..8a90b7cf74a 100644
--- a/src/test/ui/parser/let-binop.stderr
+++ b/src/test/ui/parser/let-binop.stderr
@@ -1,37 +1,37 @@
-error[E0067]: can't reassign to a uninitialized variable
+error[E0067]: can't reassign to an uninitialized variable
   --> $DIR/let-binop.rs:2:15
    |
 LL |     let a: i8 *= 1;
-   |               ^^ help: replace with `=` to initialize the variable
+   |               ^^ help: initialize the variable
 
-error[E0067]: can't reassign to a uninitialized variable
+error[E0067]: can't reassign to an uninitialized variable
   --> $DIR/let-binop.rs:4:11
    |
 LL |     let b += 1;
    |           ^^
    |
-help: replace with `=` to initialize the variable
+help: initialize the variable
    |
 LL |     let b = 1;
    |           ^
-help: remove to reassign to a previously initialized variable
+help: otherwise, reassign to a previously initialized variable
    |
-LL |      b += 1;
+LL |     b += 1;
    |    --
 
-error[E0067]: can't reassign to a uninitialized variable
+error[E0067]: can't reassign to an uninitialized variable
   --> $DIR/let-binop.rs:6:11
    |
 LL |     let c *= 1;
    |           ^^
    |
-help: replace with `=` to initialize the variable
+help: initialize the variable
    |
 LL |     let c = 1;
    |           ^
-help: remove to reassign to a previously initialized variable
+help: otherwise, reassign to a previously initialized variable
    |
-LL |      c *= 1;
+LL |     c *= 1;
    |    --
 
 error: aborting due to 3 previous errors