summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreter.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-09-16 13:23:19 -0700
committerDylan Baker <dylan@pnwbakers.com>2025-10-20 15:15:53 -0700
commite005e9a459f3847a9d30861ec0a5f5653b4df0e4 (patch)
treeb77bde943801c0b0d83538413c6e1b51e14aeee1 /mesonbuild/interpreter/interpreter.py
parent87dac856b61dbd98e922aa159f08bce4852941d9 (diff)
downloadmeson-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.py3
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])