Skip to content

Commit dd46d34

Browse files
authored
syntax: fix a bug when pushing range in intervalset.
1 parent a71e3c8 commit dd46d34

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

regex-syntax/src/hir/interval.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ impl<I: Interval> IntervalSet<I> {
9797
let mut drain_end = self.ranges.len();
9898
while drain_end > 0
9999
&& self.ranges[drain_end - 1].lower() > interval.upper()
100+
&& !self.ranges[drain_end - 1].is_contiguous(&interval)
100101
{
101102
drain_end -= 1;
102103
}
@@ -106,7 +107,7 @@ impl<I: Interval> IntervalSet<I> {
106107
{
107108
self.ranges[drain_end - 1] =
108109
self.ranges[drain_end - 1].union(&interval).unwrap();
109-
for i in 0..drain_end - 1 {
110+
for i in (0..drain_end - 1).rev() {
110111
if let Some(union) =
111112
self.ranges[drain_end - 1].union(&self.ranges[i])
112113
{

0 commit comments

Comments
 (0)