(&self, i: OptionalArg<isize>, vm: &VirtualMachine)
| 352 | |
| 353 | #[pymethod] |
| 354 | fn pop(&self, i: OptionalArg<isize>, vm: &VirtualMachine) -> PyResult { |
| 355 | let mut i = i.into_option().unwrap_or(-1); |
| 356 | let mut elements = self.borrow_vec_mut(); |
| 357 | if i < 0 { |
| 358 | i += elements.len() as isize; |
| 359 | } |
| 360 | if elements.is_empty() { |
| 361 | Err(vm.new_index_error("pop from empty list")) |
| 362 | } else if i < 0 || i as usize >= elements.len() { |
| 363 | Err(vm.new_index_error("pop index out of range")) |
| 364 | } else { |
| 365 | Ok(elements.remove(i as usize)) |
| 366 | } |
| 367 | } |
| 368 | |
| 369 | #[pymethod] |
| 370 | fn remove(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> { |
no test coverage detected