aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/utils/universal.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2022-09-07 14:03:41 -0700
committerEli Schwartz <eschwartz@archlinux.org>2022-11-29 23:26:05 -0500
commitd5e899c76808d45854a06a4ba2b006da32480165 (patch)
treeeb2f315230d2448edce06fa1a82666d683b2d6bb /mesonbuild/utils/universal.py
parenta5d547e0d9ccb523f0baab7fd32e782aa075fb42 (diff)
downloadmeson-d5e899c76808d45854a06a4ba2b006da32480165.zip
meson-d5e899c76808d45854a06a4ba2b006da32480165.tar.gz
meson-d5e899c76808d45854a06a4ba2b006da32480165.tar.bz2
pylint: enable the bad_builtin checker
This finds uses of deny-listed functions, which defaults to map and filter. These functions should be replaced by comprehensions in idiomatic python because: 1. comprehensions are more heavily optimized and are often faster 2. They avoid the need for lambdas in some cases, which make them faster 3. you can do the equivalent in one statement rather than two, which is faster 4. They're easier to read 5. if you need a concrete instance (ie, a list) then you don't have to convert the iterator to a list afterwards
Diffstat (limited to 'mesonbuild/utils/universal.py')
-rw-r--r--mesonbuild/utils/universal.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/mesonbuild/utils/universal.py b/mesonbuild/utils/universal.py
index 9fa590b..f58a124 100644
--- a/mesonbuild/utils/universal.py
+++ b/mesonbuild/utils/universal.py
@@ -26,7 +26,7 @@ import abc
import platform, subprocess, operator, os, shlex, shutil, re
import collections
from functools import lru_cache, wraps, total_ordering
-from itertools import tee, filterfalse
+from itertools import tee
from tempfile import TemporaryDirectory, NamedTemporaryFile
import typing as T
import textwrap
@@ -1399,7 +1399,7 @@ def partition(pred: T.Callable[[_T], object], iterable: T.Iterable[_T]) -> T.Tup
([0, 2, 4, 6, 8], [1, 3, 5, 7, 9])
"""
t1, t2 = tee(iterable)
- return filterfalse(pred, t1), filter(pred, t2)
+ return (t for t in t1 if not pred(t)), (t for t in t2 if pred(t))
def Popen_safe(args: T.List[str], write: T.Optional[str] = None,