Negative slice out of bounds does not return values #35

This commit is contained in:
freestrings
2020-02-16 13:14:31 +09:00
parent 25cffed2d7
commit accd08139f
2 changed files with 12 additions and 2 deletions

View File

@ -439,9 +439,9 @@ fn walk<'a, F>(vec: &[&'a Value], tmp: &mut Vec<&'a Value>, fun: &F)
fn abs_index(n: isize, len: usize) -> usize {
if n < 0_isize {
(n + len as isize) as usize
(n + len as isize).max(0) as usize
} else {
n as usize
n.min(len as isize) as usize
}
}