diff options
| author | bors <bors@rust-lang.org> | 2019-01-20 08:26:12 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-01-20 08:26:12 +0000 |
| commit | 2ab5d8ac447f1f3f865dbae5bafbdeacacdea6d9 (patch) | |
| tree | 277e74cb41d08c97b79f8b372ed0b35cb719581d /src/test/ui/parser | |
| parent | 588f94b37d020aefe54b0c00ced2fdd7ccc61dfb (diff) | |
| parent | 4005d3a8cb082f84f6bfb8c2168387a747aabf1e (diff) | |
| download | rust-2ab5d8ac447f1f3f865dbae5bafbdeacacdea6d9.tar.gz rust-2ab5d8ac447f1f3f865dbae5bafbdeacacdea6d9.zip | |
Auto merge of #57651 - JohnTitor:give-char-type, r=estebank
Implement new literal type `Err` Fixes #57384 I removed `return Ok`, otherwise, two errors occur. Any solutions? r? @estebank
Diffstat (limited to 'src/test/ui/parser')
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-2.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-2.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-3.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-3.stderr | 24 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-4.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-4.stderr | 2 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-5.rs | 13 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-5.stderr | 24 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-6.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/parser/lex-bad-char-literals-6.stderr | 47 |
10 files changed, 111 insertions, 43 deletions
diff --git a/src/test/ui/parser/lex-bad-char-literals-2.rs b/src/test/ui/parser/lex-bad-char-literals-2.rs index 7f859995218..1e180f87fc1 100644 --- a/src/test/ui/parser/lex-bad-char-literals-2.rs +++ b/src/test/ui/parser/lex-bad-char-literals-2.rs @@ -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 ; diff --git a/src/test/ui/parser/lex-bad-char-literals-2.stderr b/src/test/ui/parser/lex-bad-char-literals-2.stderr index a7075b71878..7eadb8ebfe0 100644 --- a/src/test/ui/parser/lex-bad-char-literals-2.stderr +++ b/src/test/ui/parser/lex-bad-char-literals-2.stderr @@ -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' +LL | 'nope' //~ ERROR: character literal may only contain one codepoint | ^^^^^^ -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`. diff --git a/src/test/ui/parser/lex-bad-char-literals-3.rs b/src/test/ui/parser/lex-bad-char-literals-3.rs index f8749708f77..5194ff4d935 100644 --- a/src/test/ui/parser/lex-bad-char-literals-3.rs +++ b/src/test/ui/parser/lex-bad-char-literals-3.rs @@ -1,7 +1,7 @@ -// 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: mismatched types -; +static c: char = '●●'; +//~^ ERROR: character literal may only contain one codepoint -fn main() {} +fn main() { + let ch: &str = '●●'; + //~^ ERROR: character literal may only contain one codepoint +} diff --git a/src/test/ui/parser/lex-bad-char-literals-3.stderr b/src/test/ui/parser/lex-bad-char-literals-3.stderr index 89f18e3e2aa..6462a3c0e57 100644 --- a/src/test/ui/parser/lex-bad-char-literals-3.stderr +++ b/src/test/ui/parser/lex-bad-char-literals-3.stderr @@ -1,22 +1,22 @@ error: character literal may only contain one codepoint - --> $DIR/lex-bad-char-literals-3.rs:3:5 + --> $DIR/lex-bad-char-literals-3.rs:1:18 | -LL | '●●' //~ ERROR: character literal may only contain one codepoint - | ^^^^ +LL | static c: char = '●●'; + | ^^^^ help: if you meant to write a `str` literal, use double quotes | -LL | "●●" //~ ERROR: character literal may only contain one codepoint - | ^^^^ +LL | static c: char = "●●"; + | ^^^^ -error[E0308]: mismatched types - --> $DIR/lex-bad-char-literals-3.rs:3:5 +error: character literal may only contain one codepoint + --> $DIR/lex-bad-char-literals-3.rs:5:20 | -LL | '●●' //~ ERROR: character literal may only contain one codepoint - | ^^^^ expected char, found reference +LL | let ch: &str = '●●'; + | ^^^^ +help: if you meant to write a `str` literal, use double quotes | - = note: expected type `char` - found type `&'static str` +LL | let ch: &str = "●●"; + | ^^^^ error: aborting due to 2 previous errors -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/parser/lex-bad-char-literals-4.rs b/src/test/ui/parser/lex-bad-char-literals-4.rs index 966e2bb9496..e13f11f36df 100644 --- a/src/test/ui/parser/lex-bad-char-literals-4.rs +++ b/src/test/ui/parser/lex-bad-char-literals-4.rs @@ -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 ; diff --git a/src/test/ui/parser/lex-bad-char-literals-4.stderr b/src/test/ui/parser/lex-bad-char-literals-4.stderr index 550cb5449df..881e3d5276b 100644 --- a/src/test/ui/parser/lex-bad-char-literals-4.stderr +++ b/src/test/ui/parser/lex-bad-char-literals-4.stderr @@ -1,7 +1,7 @@ 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: '● +LL | '● //~ ERROR: character literal may only contain one codepoint | ^^ error: aborting due to previous error diff --git a/src/test/ui/parser/lex-bad-char-literals-5.rs b/src/test/ui/parser/lex-bad-char-literals-5.rs index 247289ea4d5..0c4339edc4f 100644 --- a/src/test/ui/parser/lex-bad-char-literals-5.rs +++ b/src/test/ui/parser/lex-bad-char-literals-5.rs @@ -1,8 +1,7 @@ -// -// This test needs to the last one appearing in this file as it kills the parser -static c: char = - '\x10\x10' //~ ERROR: character literal may only contain one codepoint - //~| ERROR: mismatched types -; +static c: char = '\x10\x10'; +//~^ ERROR: character literal may only contain one codepoint -fn main() {} +fn main() { + let ch: &str = '\x10\x10'; + //~^ ERROR: character literal may only contain one codepoint +} diff --git a/src/test/ui/parser/lex-bad-char-literals-5.stderr b/src/test/ui/parser/lex-bad-char-literals-5.stderr index 523d71ff49d..ef029733101 100644 --- a/src/test/ui/parser/lex-bad-char-literals-5.stderr +++ b/src/test/ui/parser/lex-bad-char-literals-5.stderr @@ -1,22 +1,22 @@ error: character literal may only contain one codepoint - --> $DIR/lex-bad-char-literals-5.rs:4:5 + --> $DIR/lex-bad-char-literals-5.rs:1:18 | -LL | '/x10/x10' //~ ERROR: character literal may only contain one codepoint - | ^^^^^^^^^^ +LL | static c: char = '/x10/x10'; + | ^^^^^^^^^^ help: if you meant to write a `str` literal, use double quotes | -LL | "/x10/x10" //~ ERROR: character literal may only contain one codepoint - | ^^^^^^^^^^ +LL | static c: char = "/x10/x10"; + | ^^^^^^^^^^ -error[E0308]: mismatched types - --> $DIR/lex-bad-char-literals-5.rs:4:5 +error: character literal may only contain one codepoint + --> $DIR/lex-bad-char-literals-5.rs:5:20 | -LL | '/x10/x10' //~ ERROR: character literal may only contain one codepoint - | ^^^^^^^^^^ expected char, found reference +LL | let ch: &str = '/x10/x10'; + | ^^^^^^^^^^ +help: if you meant to write a `str` literal, use double quotes | - = note: expected type `char` - found type `&'static str` +LL | let ch: &str = "/x10/x10"; + | ^^^^^^^^^^ error: aborting due to 2 previous errors -For more information about this error, try `rustc --explain E0308`. 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 index 00000000000..4379b4fa6d7 --- /dev/null +++ b/src/test/ui/parser/lex-bad-char-literals-6.rs @@ -0,0 +1,17 @@ +fn main() { + let x: &str = 'ab'; + //~^ ERROR: character literal may only contain one codepoint + 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 +} 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 index 00000000000..df997260348 --- /dev/null +++ b/src/test/ui/parser/lex-bad-char-literals-6.stderr @@ -0,0 +1,47 @@ +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 + --> $DIR/lex-bad-char-literals-6.rs:4:19 + | +LL | let y: char = 'cd'; + | ^^^^ + +error: character literal may only contain one codepoint + --> $DIR/lex-bad-char-literals-6.rs:6:13 + | +LL | let z = 'ef'; + | ^^^^ + +error[E0277]: can't compare `&str` with `char` + --> $DIR/lex-bad-char-literals-6.rs:9:10 + | +LL | if x == y {} + | ^^ 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:15:20 + | +LL | let a: usize = ""; + | ^^ 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:12:10 + | +LL | if x == z {} + | ^^ no implementation for `&str == char` + | + = help: the trait `std::cmp::PartialEq<char>` is not implemented for `&str` + +error: aborting due to 6 previous errors + +Some errors occurred: E0277, E0308. +For more information about an error, try `rustc --explain E0277`. |
