diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ee90488c7..db9869bb3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: - id: generate-rs-opcode-metadata name: generate rust opcode metadata - entry: python tools/opcode_metadata/generate_rs_opcode_metadata.py + entry: python3 tools/opcode_metadata/generate_rs_opcode_metadata.py files: '^(crates/compiler-core/src/bytecode/instruction\.rs|tools/opcode_metadata/*)$' pass_filenames: false language: system @@ -53,7 +53,7 @@ repos: - id: generate-py-opcode-metadata name: generate python opcode metadata - entry: python tools/opcode_metadata/generate_py_opcode_metadata.py + entry: python3 tools/opcode_metadata/generate_py_opcode_metadata.py files: '^(crates/compiler-core/src/bytecode/instruction\.rs|tools/opcode_metadata/*)$' pass_filenames: false language: system diff --git a/crates/vm/src/builtins/list.rs b/crates/vm/src/builtins/list.rs index 8a426685a..2b83a5c10 100644 --- a/crates/vm/src/builtins/list.rs +++ b/crates/vm/src/builtins/list.rs @@ -372,12 +372,15 @@ impl PyList { if let Some(index) = index.into() { // defer delete out of borrow - let is_inside_range = index < self.borrow_vec().len(); - Ok(is_inside_range.then(|| self.borrow_vec_mut().remove(index))) + let removed = { + let mut elements = self.borrow_vec_mut(); + (index < elements.len()).then(|| elements.remove(index)) + }; + drop(removed); + Ok(()) } else { Err(vm.new_value_error(format!("'{}' is not in list", needle.str(vm)?))) } - .map(drop) } fn _delitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult<()> { diff --git a/scripts/check_redundant_patches.py b/scripts/check_redundant_patches.py index 4bc89a573..e9981e38d 100644 --- a/scripts/check_redundant_patches.py +++ b/scripts/check_redundant_patches.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import argparse import ast import glob