// 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
;
-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`.
//
// 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
;
-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
--- /dev/null
+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
--- /dev/null
+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`.