diff options
author | Tristan Partin <tristan@partin.io> | 2021-12-29 22:24:19 -0600 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2021-12-30 00:53:58 -0500 |
commit | 269337ceb26c8fd1ca2680ee7db9e82fdbf6b25c (patch) | |
tree | 16628a5a9be73d354f39f5afbb35da89acd0d308 /mesonbuild/mesonlib | |
parent | 37b122b87e716f5a4e909db12a7793d162c599bb (diff) | |
download | meson-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.py | 4 |
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]]', |