From 630d5f355fc85fc2c3bab28a278c517d945d328d Mon Sep 17 00:00:00 2001 From: Igor Matuszewski Date: Mon, 10 Jun 2019 17:32:15 +0200 Subject: Don't suggest using \r in raw strings --- src/libsyntax/parse/unescape.rs | 3 ++- src/libsyntax/parse/unescape_error_reporting.rs | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src/libsyntax') 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(); -- cgit 1.4.1-3-g733a5