diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-09-16 13:23:19 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-20 15:15:53 -0700 |
| commit | e005e9a459f3847a9d30861ec0a5f5653b4df0e4 (patch) | |
| tree | b77bde943801c0b0d83538413c6e1b51e14aeee1 /mesonbuild/interpreter/interpreter.py | |
| parent | 87dac856b61dbd98e922aa159f08bce4852941d9 (diff) | |
| download | meson-e005e9a459f3847a9d30861ec0a5f5653b4df0e4.tar.gz | |
interpreter: Rework extract_required_kwarg to have better typing
This allows us to avoid making `feature` a union, therefore if we write
code like:
```python
disabled, required, feature = extract_required_kwarg(...)
if disabled:
...
```
and now mypy knows that feature is a `str` inside the `if disabled`
block
Diffstat (limited to 'mesonbuild/interpreter/interpreter.py')
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 69d04bd61..43433d591 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -868,7 +868,6 @@ class Interpreter(InterpreterBase, HoldableObject): pass disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) if disabled: - assert feature, 'for mypy' mlog.log('Subproject', mlog.bold(subp_name), ':', 'skipped: feature', mlog.bold(feature), 'disabled') return self.disabled_subproject(subp_name, disabled_feature=feature) @@ -1299,7 +1298,6 @@ class Interpreter(InterpreterBase, HoldableObject): native = kwargs['native'] if disabled: - assert feature, 'for mypy' for lang in sorted(langs, key=compilers.sort_clink): mlog.log('Compiler for language', mlog.bold(lang), 'skipped: feature', mlog.bold(feature), 'disabled') return False @@ -1754,7 +1752,6 @@ class Interpreter(InterpreterBase, HoldableObject): ) -> T.Union['build.Executable', ExternalProgram, 'OverrideProgram']: disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) if disabled: - assert feature, 'for mypy' mlog.log('Program', mlog.bold(' '.join(args[0])), 'skipped: feature', mlog.bold(feature), 'disabled') return self.notfound_program(args[0]) |
