@@ -307,24 +307,15 @@ where
307
307
let matched = captures. at ( 0 ) . unwrap_or_default ( ) ;
308
308
match matched. split_once ( ',' ) {
309
309
Some ( ( "" , "" ) ) => Ok ( ( ) ) ,
310
- Some ( ( x, "" ) ) | Some ( ( "" , x) ) => match x. parse :: < i32 > ( ) {
311
- Ok ( x) if x <= i16:: MAX . into ( ) => Ok ( ( ) ) ,
312
- Ok ( _) => Err ( ExprError :: TooBigRangeQuantifierIndex ) ,
313
- Err ( _) => Err ( ExprError :: InvalidBracketContent ) ,
314
- } ,
315
- Some ( ( f, l) ) => match ( f. parse :: < i32 > ( ) , l. parse :: < i32 > ( ) ) {
310
+ Some ( ( x, "" ) | ( "" , x) ) if x. parse :: < i16 > ( ) . is_ok ( ) => Ok ( ( ) ) ,
311
+ Some ( ( _, "" ) | ( "" , _) ) => Err ( ExprError :: TooBigRangeQuantifierIndex ) ,
312
+ Some ( ( f, l) ) => match ( f. parse :: < i16 > ( ) , l. parse :: < i16 > ( ) ) {
316
313
( Ok ( f) , Ok ( l) ) if f > l => Err ( ExprError :: InvalidBracketContent ) ,
317
- ( Ok ( f) , Ok ( l) ) if f > i16:: MAX . into ( ) || l > i16:: MAX . into ( ) => {
318
- Err ( ExprError :: TooBigRangeQuantifierIndex )
319
- }
320
314
( Ok ( _) , Ok ( _) ) => Ok ( ( ) ) ,
321
- _ => Err ( ExprError :: InvalidBracketContent ) ,
322
- } ,
323
- None => match matched. parse :: < i32 > ( ) {
324
- Ok ( x) if x <= i16:: MAX . into ( ) => Ok ( ( ) ) ,
325
- Ok ( _) => Err ( ExprError :: TooBigRangeQuantifierIndex ) ,
326
- Err ( _) => Err ( ExprError :: InvalidBracketContent ) ,
315
+ _ => Err ( ExprError :: TooBigRangeQuantifierIndex ) ,
327
316
} ,
317
+ None if matched. parse :: < i16 > ( ) . is_ok ( ) => Ok ( ( ) ) ,
318
+ None => Err ( ExprError :: TooBigRangeQuantifierIndex ) ,
328
319
}
329
320
} else {
330
321
Err ( ExprError :: InvalidBracketContent )
0 commit comments