diff options
| author | Igor Matuszewski <Xanewok@gmail.com> | 2019-06-10 17:32:15 +0200 |
|---|---|---|
| committer | Igor Matuszewski <Xanewok@gmail.com> | 2019-06-10 17:32:15 +0200 |
| commit | 630d5f355fc85fc2c3bab28a278c517d945d328d (patch) | |
| tree | 0a03551c5117f67c34eabd1023d875c468ab067e /src/libsyntax/parse | |
| parent | 63dc7da703759dd53536dd18a42ff65f39a2f9b4 (diff) | |
| download | rust-630d5f355fc85fc2c3bab28a278c517d945d328d.tar.gz rust-630d5f355fc85fc2c3bab28a278c517d945d328d.zip | |
Don't suggest using \r in raw strings
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/unescape.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/parse/unescape_error_reporting.rs | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/libsyntax/parse/unescape.rs b/src/libsyntax/parse/unescape.rs index e816aa0271c..22cce67b5ee 100644 --- a/src/libsyntax/parse/unescape.rs +++ b/src/libsyntax/parse/unescape.rs @@ -12,6 +12,7 @@ pub(crate) enum EscapeError { LoneSlash, InvalidEscape, BareCarriageReturn, + BareCarriageReturnInRawString, EscapeOnlyChar, TooShortHexEscape, @@ -299,7 +300,7 @@ where chars.next(); Ok('\n') }, - ('\r', _) => Err(EscapeError::BareCarriageReturn), + ('\r', _) => Err(EscapeError::BareCarriageReturnInRawString), (c, _) if mode.is_bytes() && !c.is_ascii() => Err(EscapeError::NonAsciiCharInByteString), (c, _) => Ok(c), diff --git a/src/libsyntax/parse/unescape_error_reporting.rs b/src/libsyntax/parse/unescape_error_reporting.rs index 8f152974a6d..71b41161ad8 100644 --- a/src/libsyntax/parse/unescape_error_reporting.rs +++ b/src/libsyntax/parse/unescape_error_reporting.rs @@ -80,6 +80,11 @@ pub(crate) fn emit_unescape_error( }; handler.span_err(span, msg); } + EscapeError::BareCarriageReturnInRawString => { + assert!(mode.in_double_quotes()); + let msg = "bare CR not allowed in raw string"; + handler.span_err(span, msg); + } EscapeError::InvalidEscape => { let (c, span) = last_char(); |
