@@ -287,26 +287,21 @@ pub fn char_lit(lit: &str) -> (char, isize) {
287
287
use std:: char;
288
288
289
289
let mut chars = lit. chars ( ) ;
290
- let c = match ( chars. next ( ) , chars. next ( ) ) {
290
+ match ( chars. next ( ) , chars. next ( ) ) {
291
291
( Some ( c) , None ) if c != '\\' => return ( c, 1 ) ,
292
292
( Some ( '\\' ) , Some ( c) ) => match c {
293
- '"' => Some ( '"' ) ,
294
- 'n' => Some ( '\n' ) ,
295
- 'r' => Some ( '\r' ) ,
296
- 't' => Some ( '\t' ) ,
297
- '\\' => Some ( '\\' ) ,
298
- '\'' => Some ( '\'' ) ,
299
- '0' => Some ( '\0' ) ,
300
- _ => { None }
293
+ '"' => return ( '"' , 2 ) ,
294
+ 'n' => return ( '\n' , 2 ) ,
295
+ 'r' => return ( '\r' , 2 ) ,
296
+ 't' => return ( '\t' , 2 ) ,
297
+ '\\' => return ( '\\' , 2 ) ,
298
+ '\'' => return ( '\'' , 2 ) ,
299
+ '0' => return ( '\0' , 2 ) ,
300
+ _ => { }
301
301
} ,
302
302
_ => panic ! ( "lexer accepted invalid char escape `{}`" , lit)
303
303
} ;
304
304
305
- match c {
306
- Some ( x) => return ( x, 2 ) ,
307
- None => { }
308
- }
309
-
310
305
let msg = format ! ( "lexer should have rejected a bad character escape {}" , lit) ;
311
306
let msg2 = & msg[ ..] ;
312
307
0 commit comments