Fix out-of-bounds error on new_replace_table
#64
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
for i in 0..new_replace_table.len() - 1
loop gave me an "index out of bounds: the len is 0 but the index is 0" run-time error. The problem is that the subtraction underflows when the length of the vector is zero, since the LHS is of typeusize
. (The underflow would lead to an "attempt to subtract with overflow" run-time error with debug builds but not with release builds.)This commit fixes the problem by
ensuring thatusingnew_replace_table.len()
is at least one before applying the subtraction.windows(2)
to get an iterator over overlapping subslices of length two. (EDIT: A more 'Rusty' solution came to my mind. 🙂 )