diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-11-03 15:17:37 +1100 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-11-04 14:23:40 +1100 |
| commit | 7dbf2c0ed86a6fc97aa0b93bc2ac865d6f2cc438 (patch) | |
| tree | 95b18ce5f8af6693f1484490d128a95b919fd38b /src/test/ui/parser/byte-string-literals.rs | |
| parent | 34b32b0dac9da3fad7861bdc2bad89d771172bb3 (diff) | |
| download | rust-7dbf2c0ed86a6fc97aa0b93bc2ac865d6f2cc438.tar.gz rust-7dbf2c0ed86a6fc97aa0b93bc2ac865d6f2cc438.zip | |
Make non-ASCII errors more consistent.
There are three kinds of "byte" literals: byte literals, byte string literals, and raw byte string literals. None are allowed to have non-ASCII chars in them. Two `EscapeError` variants exist for when that constraint is violated. - `NonAsciiCharInByte`: used for byte literals and byte string literals. - `NonAsciiCharInByteString`: used for raw byte string literals. As a result, the messages for raw byte string literals use different wording, without good reason. Also, byte string literals are incorrectly described as "byte constants" in some error messages. This commit eliminates `NonAsciiCharInByteString` so the three cases are handled similarly, and described correctly. The `mode` is enough to distinguish them. Note: Some existing error messages mention "byte constants" and some mention "byte literals". I went with the latter here, because it's a more correct name, as used by the Reference.
Diffstat (limited to 'src/test/ui/parser/byte-string-literals.rs')
| -rw-r--r-- | src/test/ui/parser/byte-string-literals.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/test/ui/parser/byte-string-literals.rs b/src/test/ui/parser/byte-string-literals.rs index b1f11024a7b..30a4f50c4e4 100644 --- a/src/test/ui/parser/byte-string-literals.rs +++ b/src/test/ui/parser/byte-string-literals.rs @@ -3,7 +3,7 @@ static FOO: &'static [u8] = b"\f"; //~ ERROR unknown byte escape pub fn main() { b"\f"; //~ ERROR unknown byte escape b"\x0Z"; //~ ERROR invalid character in numeric character escape: `Z` - b"é"; //~ ERROR non-ASCII character in byte constant - br##"é"##; //~ ERROR raw byte string must be ASCII + b"é"; //~ ERROR non-ASCII character in byte string literal + br##"é"##; //~ ERROR non-ASCII character in raw byte string literal b"a //~ ERROR unterminated double quote byte string } |
