summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-08-01 15:40:44 -0700
committerDylan Baker <dylan@pnwbakers.com>2025-10-20 15:15:53 -0700
commit035b8e4c013d686da7ab433b643338f696e15500 (patch)
treebf3fc4dcbf4e7e2f3014dfcdbf95efc7fcb34039 /mesonbuild/interpreter
parentae89ca1015fd1d8306bbb78c31f1bde53375a712 (diff)
downloadmeson-035b8e4c013d686da7ab433b643338f696e15500.tar.gz
dependency: Use a TypedDict to describe the keyword arguments to Dependency
This allows us to check that all of the keyword arguments are of the correct type.
Diffstat (limited to 'mesonbuild/interpreter')
-rw-r--r--mesonbuild/interpreter/mesonmain.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/interpreter/mesonmain.py b/mesonbuild/interpreter/mesonmain.py
index d22d36bf0..6ae2d2148 100644
--- a/mesonbuild/interpreter/mesonmain.py
+++ b/mesonbuild/interpreter/mesonmain.py
@@ -26,6 +26,7 @@ if T.TYPE_CHECKING:
from typing_extensions import Literal, TypedDict
from ..compilers import Compiler
+ from ..dependencies.base import DependencyObjectKWs
from ..interpreterbase import TYPE_kwargs, TYPE_var
from ..mesonlib import ExecutableSerialisation
from .interpreter import Interpreter
@@ -381,11 +382,11 @@ class MesonMain(MesonInterpreterObject):
static: T.Optional[bool], permissive: bool = False) -> None:
# We need the cast here as get_dep_identifier works on such a dict,
# which FuncOverrideDependency is, but mypy can't figure that out
- nkwargs = T.cast('T.Dict[str, T.Any]', kwargs.copy())
+ nkwargs: DependencyObjectKWs = kwargs.copy() # type: ignore[assignment]
if static is None:
- del nkwargs['static']
+ del nkwargs['static'] # type: ignore[typeddict-item]
else:
- nkwargs['static'] = static
+ nkwargs['static'] = static # type: ignore[typeddict-unknown-key]
identifier = dependencies.get_dep_identifier(name, nkwargs)
for_machine = kwargs['native']
override = self.build.dependency_overrides[for_machine].get(identifier)