diff options
Diffstat (limited to 'src/libregex/parse.rs')
| -rw-r--r-- | src/libregex/parse.rs | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/libregex/parse.rs b/src/libregex/parse.rs index b7313ff6c1a..35583be372c 100644 --- a/src/libregex/parse.rs +++ b/src/libregex/parse.rs @@ -374,10 +374,6 @@ impl<'a> Parser<'a> { let mut ranges: Vec<(char, char)> = vec!(); let mut alts: Vec<Ast> = vec!(); - if self.peek_is(1, ']') { - try!(self.expect(']')); - ranges.push((']', ']')) - } while self.peek_is(1, '-') { try!(self.expect('-')); ranges.push(('-', '-')) @@ -411,7 +407,7 @@ impl<'a> Parser<'a> { ast => fail!("Unexpected AST item '{}'", ast), } } - ']' => { + ']' if ranges.len() > 0 || alts.len() > 0 => { if ranges.len() > 0 { let flags = negated | (self.flags & FLAG_NOCASE); let mut ast = AstClass(combine_ranges(ranges), flags); |
