]> git.lizzy.rs Git - rust.git/commitdiff
[WIP] Fix tests
authorYuki Okushi <huyuumi.dev@gmail.com>
Sat, 19 Jan 2019 19:37:58 +0000 (04:37 +0900)
committerYuki Okushi <huyuumi.dev@gmail.com>
Sat, 19 Jan 2019 19:37:58 +0000 (04:37 +0900)
src/test/ui/parser/lex-bad-char-literals-2.rs
src/test/ui/parser/lex-bad-char-literals-2.stderr
src/test/ui/parser/lex-bad-char-literals-4.rs
src/test/ui/parser/lex-bad-char-literals-4.stderr
src/test/ui/parser/lex-bad-char-literals-6.rs [new file with mode: 0644]
src/test/ui/parser/lex-bad-char-literals-6.stderr [new file with mode: 0644]

index 7f859995218d97ace50c598043114643cd2e7d17..1e180f87fc186ef1719ee47e0b9e71560bdd25d5 100644 (file)
@@ -1,4 +1,4 @@
 // This test needs to the last one appearing in this file as it kills the parser
 static c: char =
-    'nope' //~ ERROR: character literal may only contain one codepoint: 'nope'
+    'nope' //~ ERROR: character literal may only contain one codepoint
 ;
index a7075b71878121a4ed4ca3d72c539bf19808457b..80999a4afcf4433c264c4763388aaa9afad80ac3 100644 (file)
@@ -1,8 +1,13 @@
-error: character literal may only contain one codepoint: 'nope'
+error: character literal may only contain one codepoint
   --> $DIR/lex-bad-char-literals-2.rs:3:5
    |
 LL |     'nope' //~ ERROR: character literal may only contain one codepoint: 'nope'
    |     ^^^^^^
 
-error: aborting due to previous error
+error[E0601]: `main` function not found in crate `lex_bad_char_literals_2`
+   |
+   = note: consider adding a `main` function to `$DIR/lex-bad-char-literals-2.rs`
+
+error: aborting due to 2 previous errors
 
+For more information about this error, try `rustc --explain E0601`.
index 966e2bb949688589686328c2f35e7adfdff8b06d..e13f11f36df489e0b23972e514d0bdd11675cddb 100644 (file)
@@ -1,5 +1,5 @@
 //
 // This test needs to the last one appearing in this file as it kills the parser
 static c: char =
-    '●  //~ ERROR: character literal may only contain one codepoint: '●
+    '●  //~ ERROR: character literal may only contain one codepoint
 ;
index 550cb5449df19cac43fe6d2d2434f99c1360bf20..129f28aa3e8fdb84698401f1f2c5fc02078f997f 100644 (file)
@@ -1,8 +1,20 @@
-error: character literal may only contain one codepoint: '●
+error: character literal may only contain one codepoint
   --> $DIR/lex-bad-char-literals-4.rs:4:5
    |
 LL |     '●  //~ ERROR: character literal may only contain one codepoint: '●
    |     ^^
 
-error: aborting due to previous error
+error: character literal may only contain one codepoint
+  --> $DIR/lex-bad-char-literals-4.rs:4:70
+   |
+LL |     '●  //~ ERROR: character literal may only contain one codepoint: '●
+   |                                                                      ^^
+
+error: expected one of `.`, `;`, `?`, or an operator, found `~`
+  --> $DIR/lex-bad-char-literals-4.rs:4:11
+   |
+LL |     '●  //~ ERROR: character literal may only contain one codepoint: '●
+   |           ^ expected one of `.`, `;`, `?`, or an operator here
+
+error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/parser/lex-bad-char-literals-6.rs b/src/test/ui/parser/lex-bad-char-literals-6.rs
new file mode 100644 (file)
index 0000000..8567a86
--- /dev/null
@@ -0,0 +1,12 @@
+fn main() {
+    let x: &str = 'ab';  //~ ERROR: character literal may only contain one codepoint
+    //~^ ERROR: mismatched types
+    let y: char = 'cd';  //~ ERROR: character literal may only contain one codepoint
+    let z = 'ef';  //~ ERROR: character literal may only contain one codepoint
+
+    if x == y {}  //~ ERROR: can't compare `&str` with `char`
+    if y == z {}  // no error here
+    if x == z {}  //~ ERROR: can't compare `&str` with `char`
+
+    let a: usize = "";  //~ ERROR: mismatched types
+}
\ No newline at end of file
diff --git a/src/test/ui/parser/lex-bad-char-literals-6.stderr b/src/test/ui/parser/lex-bad-char-literals-6.stderr
new file mode 100644 (file)
index 0000000..f1fcaaf
--- /dev/null
@@ -0,0 +1,56 @@
+error: character literal may only contain one codepoint
+  --> $DIR/lex-bad-char-literals-6.rs:2:19
+   |
+LL |     let x: &str = 'ab';  //~ ERROR: character literal may only contain one codepoint
+   |                   ^^^^
+
+error: character literal may only contain one codepoint
+  --> $DIR/lex-bad-char-literals-6.rs:3:19
+   |
+LL |     let y: char = 'cd';  //~ ERROR: character literal may only contain one codepoint
+   |                   ^^^^
+
+error: character literal may only contain one codepoint
+  --> $DIR/lex-bad-char-literals-6.rs:4:13
+   |
+LL |     let z = 'ef';  //~ ERROR: character literal may only contain one codepoint
+   |             ^^^^
+
+error[E0308]: mismatched types
+  --> $DIR/lex-bad-char-literals-6.rs:2:19
+   |
+LL |     let x: &str = 'ab';  //~ ERROR: character literal may only contain one codepoint
+   |                   ^^^^ expected &str, found char
+   |
+   = note: expected type `&str`
+              found type `char`
+
+error[E0277]: can't compare `&str` with `char`
+  --> $DIR/lex-bad-char-literals-6.rs:6:10
+   |
+LL |     if x == y {}  // no error here
+   |          ^^ no implementation for `&str == char`
+   |
+   = help: the trait `std::cmp::PartialEq<char>` is not implemented for `&str`
+
+error[E0308]: mismatched types
+  --> $DIR/lex-bad-char-literals-6.rs:10:20
+   |
+LL |     let a: usize = "";  // type error here to confirm we got past the parser
+   |                    ^^ expected usize, found reference
+   |
+   = note: expected type `usize`
+              found type `&'static str`
+
+error[E0277]: can't compare `&str` with `char`
+  --> $DIR/lex-bad-char-literals-6.rs:8:10
+   |
+LL |     if x == z {}  // no error here
+   |          ^^ no implementation for `&str == char`
+   |
+   = help: the trait `std::cmp::PartialEq<char>` is not implemented for `&str`
+
+error: aborting due to 7 previous errors
+
+Some errors occurred: E0277, E0308.
+For more information about an error, try `rustc --explain E0277`.