aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mesonlib
diff options
context:
space:
mode:
authorTristan Partin <tristan@partin.io>2021-12-29 22:24:19 -0600
committerEli Schwartz <eschwartz93@gmail.com>2021-12-30 00:53:58 -0500
commit269337ceb26c8fd1ca2680ee7db9e82fdbf6b25c (patch)
tree16628a5a9be73d354f39f5afbb35da89acd0d308 /mesonbuild/mesonlib
parent37b122b87e716f5a4e909db12a7793d162c599bb (diff)
downloadmeson-269337ceb26c8fd1ca2680ee7db9e82fdbf6b25c.zip
meson-269337ceb26c8fd1ca2680ee7db9e82fdbf6b25c.tar.gz
meson-269337ceb26c8fd1ca2680ee7db9e82fdbf6b25c.tar.bz2
Fix mypy 0.930 issues
Removed errant "type: ignore". Fixed issue with "fetch" call. This issue was the following: Dict::get() and Dict::pop() have the following signature: T.Callable[[_T, _U], _U | None] OR T.Callable[[_T], _U | None] Note how the return type is _U here. When the fetch() function was actually being called, it had the following signature: T.Callable[[_T, T.List[_U]], T.Union[T.List[_U], _U]] This is incompatible with the previous definitions. The solution is simply to move where the default value is introduced if fetch() produces None.
Diffstat (limited to 'mesonbuild/mesonlib')
-rw-r--r--mesonbuild/mesonlib/universal.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/mesonbuild/mesonlib/universal.py b/mesonbuild/mesonlib/universal.py
index 53e9514..bae80d4 100644
--- a/mesonbuild/mesonlib/universal.py
+++ b/mesonbuild/mesonlib/universal.py
@@ -1319,11 +1319,11 @@ def extract_as_list(dict_object: T.Dict[_T, _U], key: _T, pop: bool = False) ->
'''
Extracts all values from given dict_object and listifies them.
'''
- fetch = dict_object.get
+ fetch: T.Callable[[_T], _U] = dict_object.get
if pop:
fetch = dict_object.pop
# If there's only one key, we don't return a list with one element
- return listify(fetch(key, []), flatten=True)
+ return listify(fetch(key) or [], flatten=True)
def typeslistify(item: 'T.Union[_T, T.Sequence[_T]]',