diff --git a/mesonpy/__init__.py b/mesonpy/__init__.py index af95ddba9..17c3e1dea 100644 --- a/mesonpy/__init__.py +++ b/mesonpy/__init__.py @@ -242,20 +242,14 @@ def __init__(self, name: str, *args: Any, **kwargs: Any): super().__init__(name, *args, **kwargs) @classmethod - def from_pyproject(cls, data: Mapping[str, Any], project_dir: Path) -> Metadata: # type: ignore[override] - # The class method from the pyproject_metadata base class is not - # typed in a subclassing friendly way, thus annotations to ignore - # typing are needed. - + def from_pyproject(cls, data: Mapping[str, Any], project_dir: Path) -> Self: metadata = super().from_pyproject(data, project_dir) - # Check for unsupported dynamic fields. unsupported_dynamic = set(metadata.dynamic) - {'version', } if unsupported_dynamic: fields = ', '.join(f'"{x}"' for x in unsupported_dynamic) raise pyproject_metadata.ConfigurationError(f'Unsupported dynamic fields: {fields}') - - return metadata # type: ignore[return-value] + return metadata @property def distribution_name(self) -> str: