about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHenry Boisdequin <65845077+henryboisdequin@users.noreply.github.com>2021-03-03 17:09:40 +0530
committerHenry Boisdequin <65845077+henryboisdequin@users.noreply.github.com>2021-03-06 08:21:08 +0530
commit7d3a6f16551fa9ff54fbfa9c648c21ae0f6d550f (patch)
treed53c534dbe9f8682bb5f70952234137ad23b75b5
parentd9d69212c3d1dca7e8975d5163f09289db4a7420 (diff)
downloadrust-7d3a6f16551fa9ff54fbfa9c648c21ae0f6d550f.tar.gz
rust-7d3a6f16551fa9ff54fbfa9c648c21ae0f6d550f.zip
address comments
-rw-r--r--compiler/rustc_typeck/src/collect/type_of.rs6
-rw-r--r--src/test/ui/79040.rs5
-rw-r--r--src/test/ui/parser/item-free-const-no-body-semantic-fail.rs1
-rw-r--r--src/test/ui/parser/item-free-static-no-body-semantic-fail.rs2
-rw-r--r--src/test/ui/parser/item-free-static-no-body-semantic-fail.stderr4
-rw-r--r--src/test/ui/typeck/issue-79040.rs5
-rw-r--r--src/test/ui/typeck/issue-79040.stderr (renamed from src/test/ui/79040.stderr)4
7 files changed, 13 insertions, 14 deletions
diff --git a/compiler/rustc_typeck/src/collect/type_of.rs b/compiler/rustc_typeck/src/collect/type_of.rs
index 92e2b523202..1f47e4899f1 100644
--- a/compiler/rustc_typeck/src/collect/type_of.rs
+++ b/compiler/rustc_typeck/src/collect/type_of.rs
@@ -659,11 +659,12 @@ fn infer_placeholder_type(
                 format!("{}: {}", item_ident, ty),
                 Applicability::MachineApplicable,
             )
-            .emit_unless(matches!(ty.kind(), ty::Error(_)));
+            .emit_unless(ty.references_error());
         }
         None => {
             let mut diag = bad_placeholder_type(tcx, vec![span]);
-            if !matches!(ty.kind(), ty::Error(_)) {
+
+            if !ty.references_error() {
                 diag.span_suggestion(
                     span,
                     "replace `_` with the correct type",
@@ -671,6 +672,7 @@ fn infer_placeholder_type(
                     Applicability::MaybeIncorrect,
                 );
             }
+
             diag.emit();
         }
     }
diff --git a/src/test/ui/79040.rs b/src/test/ui/79040.rs
deleted file mode 100644
index adc9dc8b426..00000000000
--- a/src/test/ui/79040.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-fn main() {
-    const FOO = "hello" + 1;
-    //^~ ERROR cannot add `{integer}` to `&str`
-    println!("{}", FOO);
-}
\ No newline at end of file
diff --git a/src/test/ui/parser/item-free-const-no-body-semantic-fail.rs b/src/test/ui/parser/item-free-const-no-body-semantic-fail.rs
index 613b3c98561..15a15a207b1 100644
--- a/src/test/ui/parser/item-free-const-no-body-semantic-fail.rs
+++ b/src/test/ui/parser/item-free-const-no-body-semantic-fail.rs
@@ -4,4 +4,3 @@ fn main() {}
 
 const A: u8; //~ ERROR free constant item without body
 const B; //~ ERROR free constant item without body
-//~^ ERROR missing type for `const` item
diff --git a/src/test/ui/parser/item-free-static-no-body-semantic-fail.rs b/src/test/ui/parser/item-free-static-no-body-semantic-fail.rs
index 780479e3d26..61d3eab24d8 100644
--- a/src/test/ui/parser/item-free-static-no-body-semantic-fail.rs
+++ b/src/test/ui/parser/item-free-static-no-body-semantic-fail.rs
@@ -4,8 +4,6 @@ fn main() {}
 
 static A: u8; //~ ERROR free static item without body
 static B; //~ ERROR free static item without body
-//~^ ERROR missing type for `static` item
 
 static mut C: u8; //~ ERROR free static item without body
 static mut D; //~ ERROR free static item without body
-//~^ ERROR missing type for `static mut` item
diff --git a/src/test/ui/parser/item-free-static-no-body-semantic-fail.stderr b/src/test/ui/parser/item-free-static-no-body-semantic-fail.stderr
index 2a270c8290f..7b408323674 100644
--- a/src/test/ui/parser/item-free-static-no-body-semantic-fail.stderr
+++ b/src/test/ui/parser/item-free-static-no-body-semantic-fail.stderr
@@ -15,7 +15,7 @@ LL | static B;
    |         help: provide a definition for the static: `= <expr>;`
 
 error: free static item without body
-  --> $DIR/item-free-static-no-body-semantic-fail.rs:9:1
+  --> $DIR/item-free-static-no-body-semantic-fail.rs:8:1
    |
 LL | static mut C: u8;
    | ^^^^^^^^^^^^^^^^-
@@ -23,7 +23,7 @@ LL | static mut C: u8;
    |                 help: provide a definition for the static: `= <expr>;`
 
 error: free static item without body
-  --> $DIR/item-free-static-no-body-semantic-fail.rs:10:1
+  --> $DIR/item-free-static-no-body-semantic-fail.rs:9:1
    |
 LL | static mut D;
    | ^^^^^^^^^^^^-
diff --git a/src/test/ui/typeck/issue-79040.rs b/src/test/ui/typeck/issue-79040.rs
new file mode 100644
index 00000000000..af2a9c1ba87
--- /dev/null
+++ b/src/test/ui/typeck/issue-79040.rs
@@ -0,0 +1,5 @@
+fn main() {
+    const FOO = "hello" + 1; //~ ERROR cannot add `{integer}` to `&str`
+    //~^ ERROR cannot add `{integer}` to `&str`
+    println!("{}", FOO);
+}
diff --git a/src/test/ui/79040.stderr b/src/test/ui/typeck/issue-79040.stderr
index be7d2363c2d..32049e5d968 100644
--- a/src/test/ui/79040.stderr
+++ b/src/test/ui/typeck/issue-79040.stderr
@@ -1,5 +1,5 @@
 error[E0369]: cannot add `{integer}` to `&str`
-  --> $DIR/79040.rs:2:25
+  --> $DIR/issue-79040.rs:2:25
    |
 LL |     const FOO = "hello" + 1;
    |                 ------- ^ - {integer}
@@ -7,7 +7,7 @@ LL |     const FOO = "hello" + 1;
    |                 &str
 
 error[E0369]: cannot add `{integer}` to `&str`
-  --> $DIR/79040.rs:2:25
+  --> $DIR/issue-79040.rs:2:25
    |
 LL |     const FOO = "hello" + 1;
    |                 ------- ^ - {integer}