diff --git a/.ruff.toml b/.ruff.toml index d45d56985..b1ad2ae97 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -2,7 +2,7 @@ line-length = 100 target-version = "py310" [lint] - select = ["F"] + select = ["F", "PERF102"] [lint.per-file-ignores] "mesonbuild/mesonlib.py" = ["F403"] diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index 9ad7cb321..59c218956 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -812,7 +812,7 @@ class AstInterpreter(InterpreterBase): if hasattr(cur, 'args'): for arg in cur.args.arguments: self.dataflow_dag.add_edge(arg, cur) - for k, v in cur.args.kwargs.items(): + for v in cur.args.kwargs.values(): self.dataflow_dag.add_edge(v, cur) for attr in ['source_object', 'left', 'right', 'items', 'iobject', 'index', 'condition']: if hasattr(cur, attr): diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py index a18dfb807..22f8ddd2b 100644 --- a/mesonbuild/backend/xcodebackend.py +++ b/mesonbuild/backend/xcodebackend.py @@ -1232,7 +1232,7 @@ class XCodeBackend(backends.Backend): def generate_project_tree(self) -> FileTreeEntry: tree_info = FileTreeEntry() - for tname, t in self.build_targets.items(): + for t in self.build_targets.values(): self.add_target_to_tree(tree_info, t) return tree_info diff --git a/mesonbuild/cargo/manifest.py b/mesonbuild/cargo/manifest.py index 42ac0ee3e..5f0cae7ec 100644 --- a/mesonbuild/cargo/manifest.py +++ b/mesonbuild/cargo/manifest.py @@ -121,7 +121,7 @@ class DictMergeValue(ConvertValue): explicit: T.Set[str] = set(self.merge_key(x) for x in out) out_d: T.Dict[str, object] = {self.out_key(x): x for x in out} - for k, v in self.default.items(): + for v in self.default.values(): if self.merge_key(v) not in explicit: out_d[self.out_key(v)] = v return out_d diff --git a/mesonbuild/interpreterbase/baseobjects.py b/mesonbuild/interpreterbase/baseobjects.py index 3687007ff..30e92c76a 100644 --- a/mesonbuild/interpreterbase/baseobjects.py +++ b/mesonbuild/interpreterbase/baseobjects.py @@ -71,7 +71,7 @@ class InterpreterObject: cls.OPERATORS.update(superclass.OPERATORS) cls.TRIVIAL_OPERATORS.update(superclass.TRIVIAL_OPERATORS) - for name, method in cls.__dict__.items(): + for method in cls.__dict__.values(): if hasattr(method, 'meson_method'): cls.METHODS[method.meson_method] = method if hasattr(method, 'meson_operator'): diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py index 5389a37d7..0671510d4 100644 --- a/mesonbuild/modules/rust.py +++ b/mesonbuild/modules/rust.py @@ -327,7 +327,7 @@ class RustPackage(RustCrate): cfg = self.package.cfg[for_machine] if kwargs['dependencies']: - for dep_key, dep_pkg in cfg.dep_packages.items(): + for dep_pkg in cfg.dep_packages.values(): if dep_pkg.manifest.lib: # Get the dependency name for this package (rust or proc-macro ABI) depname = dep_pkg.get_rust_dependency_name() diff --git a/mesonbuild/rewriter.py b/mesonbuild/rewriter.py index aa7a3b4b4..a052ec779 100644 --- a/mesonbuild/rewriter.py +++ b/mesonbuild/rewriter.py @@ -647,7 +647,7 @@ class Rewriter: self.modified_nodes += [node] def find_assignment_node(self, node: BaseNode) -> T.Optional[AssignmentNode]: - for k, v in self.interpreter.all_assignment_nodes.items(): + for v in self.interpreter.all_assignment_nodes.values(): for ass in v: if ass.value == node: return ass diff --git a/unittests/rewritetests.py b/unittests/rewritetests.py index 352e77aec..61a7523ee 100644 --- a/unittests/rewritetests.py +++ b/unittests/rewritetests.py @@ -262,9 +262,9 @@ class RewriterTests(BasePlatformTests): } } } - for k1, v1 in expected.items(): - for k2, v2 in v1.items(): - for k3, v3 in v2.items(): + for v1 in expected.values(): + for v2 in v1.values(): + for v3 in v2.values(): if isinstance(v3, list): for i in range(len(v3)): v3[i] = v3[i].replace('/', os.path.sep)