Skip to content

Commit 6fda0d3

Browse files
committed
get_pos
1 parent c3ead51 commit 6fda0d3

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

vm/src/obj/objlist.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::pyobject::{
1919
};
2020
use crate::sequence::{self, SimpleSeq};
2121
use crate::sliceable::{
22-
get_item, get_pos, get_saturated_pos, PySliceableSequenceMut, SequenceIndex,
22+
get_item, get_saturated_pos, PySliceableSequence, PySliceableSequenceMut, SequenceIndex,
2323
};
2424
use crate::slots::{Comparable, Hashable, PyComparisonOp, Unhashable};
2525
use crate::vm::{ReprGuard, VirtualMachine};
@@ -228,7 +228,7 @@ impl PyList {
228228

229229
fn setindex(&self, index: isize, mut value: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> {
230230
let mut elements = self.borrow_value_mut();
231-
if let Some(pos_index) = get_pos(index, elements.len()) {
231+
if let Some(pos_index) = elements.get_pos(index) {
232232
std::mem::swap(&mut elements[pos_index], &mut value);
233233
Ok(())
234234
} else {
@@ -361,7 +361,7 @@ impl PyList {
361361
fn delindex(&self, index: isize, vm: &VirtualMachine) -> PyResult<()> {
362362
let removed = {
363363
let mut elements = self.borrow_value_mut();
364-
if let Some(pos_index) = get_pos(index, elements.len()) {
364+
if let Some(pos_index) = elements.get_pos(index) {
365365
// defer delete out of borrow
366366
Ok(elements.remove(pos_index))
367367
} else {

vm/src/sliceable.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,8 @@ pub fn get_item(
465465
let value = i.borrow_value().to_isize().ok_or_else(|| {
466466
vm.new_index_error("cannot fit 'int' into an index-sized integer".to_owned())
467467
})?;
468-
let pos_index = get_pos(value, elements.len())
468+
let pos_index = elements
469+
.get_pos(value)
469470
.ok_or_else(|| vm.new_index_error("Index out of bounds!".to_owned()))?;
470471
Ok(Either::A(elements[pos_index].clone()))
471472
} else {

0 commit comments

Comments
 (0)