@@ -209,19 +209,19 @@ impl ast::String {
209
209
let text = & text[ self . text_range_between_quotes ( ) ? - self . syntax ( ) . text_range ( ) . start ( ) ] ;
210
210
211
211
let mut buf = String :: new ( ) ;
212
- let mut prev = 0 ;
212
+ let mut prev_end = 0 ;
213
213
let mut has_error = false ;
214
214
unescape_literal ( text, Mode :: Str , & mut |char_range, unescaped_char| match (
215
215
unescaped_char,
216
216
buf. capacity ( ) == 0 ,
217
217
) {
218
218
( Ok ( c) , false ) => buf. push ( c) ,
219
- ( Ok ( _) , true ) if char_range. len ( ) == 1 && char_range. start == prev => {
220
- prev = char_range. end
219
+ ( Ok ( _) , true ) if char_range. len ( ) == 1 && char_range. start == prev_end => {
220
+ prev_end = char_range. end
221
221
}
222
222
( Ok ( c) , true ) => {
223
223
buf. reserve_exact ( text. len ( ) ) ;
224
- buf. push_str ( & text[ ..prev ] ) ;
224
+ buf. push_str ( & text[ ..prev_end ] ) ;
225
225
buf. push ( c) ;
226
226
}
227
227
( Err ( _) , _) => has_error = true ,
@@ -254,19 +254,19 @@ impl ast::ByteString {
254
254
let text = & text[ self . text_range_between_quotes ( ) ? - self . syntax ( ) . text_range ( ) . start ( ) ] ;
255
255
256
256
let mut buf: Vec < u8 > = Vec :: new ( ) ;
257
- let mut prev = 0 ;
257
+ let mut prev_end = 0 ;
258
258
let mut has_error = false ;
259
259
unescape_literal ( text, Mode :: ByteStr , & mut |char_range, unescaped_char| match (
260
260
unescaped_char,
261
261
buf. capacity ( ) == 0 ,
262
262
) {
263
263
( Ok ( c) , false ) => buf. push ( c as u8 ) ,
264
- ( Ok ( _) , true ) if char_range. len ( ) == 1 && char_range. start == prev => {
265
- prev = char_range. end
264
+ ( Ok ( _) , true ) if char_range. len ( ) == 1 && char_range. start == prev_end => {
265
+ prev_end = char_range. end
266
266
}
267
267
( Ok ( c) , true ) => {
268
268
buf. reserve_exact ( text. len ( ) ) ;
269
- buf. extend_from_slice ( text[ ..prev ] . as_bytes ( ) ) ;
269
+ buf. extend_from_slice ( text[ ..prev_end ] . as_bytes ( ) ) ;
270
270
buf. push ( c as u8 ) ;
271
271
}
272
272
( Err ( _) , _) => has_error = true ,
@@ -449,11 +449,10 @@ mod tests {
449
449
check_string_value ( r"\foobar" , None ) ;
450
450
check_string_value ( r"\nfoobar" , "\n foobar" ) ;
451
451
check_string_value ( r"C:\\Windows\\System32\\" , "C:\\ Windows\\ System32\\ " ) ;
452
- check_string_value ( r"\x61bcde" , "a \x62 cde " ) ;
452
+ check_string_value ( r"\x61bcde" , "abcde " ) ;
453
453
check_string_value (
454
454
r"a\
455
- bcde" , "a\
456
- bcde",
455
+ bcde" , "abcde" ,
457
456
) ;
458
457
}
459
458
0 commit comments