(&self, needle: &PyObject, vm: &VirtualMachine)
| 411 | } |
| 412 | |
| 413 | fn _getitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult { |
| 414 | match SequenceIndex::try_from_borrowed_object(vm, needle, "tuple")? { |
| 415 | SequenceIndex::Int(i) => { |
| 416 | let index = self |
| 417 | .elements |
| 418 | .wrap_index(i) |
| 419 | .ok_or_else(|| vm.new_index_error("tuple index out of range"))?; |
| 420 | Ok(self.elements[index].clone()) |
| 421 | } |
| 422 | SequenceIndex::Slice(slice) => self |
| 423 | .elements |
| 424 | .getitem_by_slice(vm, slice) |
| 425 | .map(|x| vm.ctx.new_tuple(x).into()), |
| 426 | } |
| 427 | } |
| 428 | |
| 429 | fn __getitem__(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult { |
| 430 | self._getitem(&needle, vm) |
no test coverage detected