File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -810,7 +810,10 @@ impl Cursor<'_> {
810
810
return ( true , triple_quoted) ;
811
811
}
812
812
}
813
- '\\' if self . first ( ) == '\\' || self . first ( ) == closing_quote => {
813
+ '\\' if self . first ( ) == '\\'
814
+ || self . first ( ) == closing_quote
815
+ || self . first ( ) == '\n' =>
816
+ {
814
817
// Bump again to skip the escaped character.
815
818
self . bump ( ) ;
816
819
}
Original file line number Diff line number Diff line change @@ -797,3 +797,20 @@ foo(3 + \
797
797
"# ] ] ,
798
798
)
799
799
}
800
+
801
+ #[ test]
802
+ fn test_escaped_newline_in_string ( ) {
803
+ check_lexing (
804
+ r#"
805
+ greeting = "Hello, \
806
+ world!""# ,
807
+ expect ! [ [ r#"
808
+ Token { kind: Newline, len: 1 }
809
+ Token { kind: Ident, len: 8 }
810
+ Token { kind: Whitespace, len: 1 }
811
+ Token { kind: Eq, len: 1 }
812
+ Token { kind: Whitespace, len: 1 }
813
+ Token { kind: Literal { kind: Str { terminated: true, triple_quoted: false } }, len: 17 }
814
+ "# ] ] ,
815
+ ) ;
816
+ }
You can’t perform that action at this time.
0 commit comments