Moved overflow check into end_point function.
This commit is contained in:
parent
f6fee2a479
commit
c6e6428d1a
2 changed files with 4 additions and 7 deletions
|
@ -219,7 +219,9 @@ impl Span {
|
|||
/// Returns a new span representing just the end-point of this span
|
||||
pub fn end_point(self) -> Span {
|
||||
let span = self.data();
|
||||
let lo = cmp::max(span.hi.0 - 1, span.lo.0);
|
||||
// We can avoid an ICE by checking if subtraction would cause an overflow.
|
||||
let hi = if span.hi.0 == u32::min_value() { span.hi.0 } else { span.hi.0 - 1 };
|
||||
let lo = cmp::max(hi, span.lo.0);
|
||||
span.with_lo(BytePos(lo))
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue