diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-08-01 15:40:44 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-20 15:15:53 -0700 |
| commit | 035b8e4c013d686da7ab433b643338f696e15500 (patch) | |
| tree | bf3fc4dcbf4e7e2f3014dfcdbf95efc7fcb34039 /mesonbuild/interpreter | |
| parent | ae89ca1015fd1d8306bbb78c31f1bde53375a712 (diff) | |
| download | meson-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.py | 7 |
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) |
