summaryrefslogtreecommitdiff
path: root/mesonbuild/cargo/interpreter.py
diff options
context:
space:
mode:
authorXavier Claessens <xclaessens@netflix.com>2025-06-08 12:42:11 -0400
committerDylan Baker <dylan@pnwbakers.com>2025-08-01 07:55:49 -0700
commitdcfb6c80959c0295edaf6f11a8f2378acdaace49 (patch)
tree8c3a119633bbda4d4f2b61dabf68391f84b7a980 /mesonbuild/cargo/interpreter.py
parent0dd5c135070a4a0b3e430051b4772e1d6dd0c470 (diff)
downloadmeson-dcfb6c80959c0295edaf6f11a8f2378acdaace49.tar.gz
cargo: Convert PackageState into a dataclass
Diffstat (limited to 'mesonbuild/cargo/interpreter.py')
-rw-r--r--mesonbuild/cargo/interpreter.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py
index b9e03208e..4ea9753f8 100644
--- a/mesonbuild/cargo/interpreter.py
+++ b/mesonbuild/cargo/interpreter.py
@@ -458,13 +458,13 @@ def _extra_deps_varname() -> str:
return 'extra_deps'
+@dataclasses.dataclass
class PackageState:
- def __init__(self, manifest: Manifest, downloaded: bool) -> None:
- self.manifest = manifest
- self.downloaded = downloaded
- self.features: T.Set[str] = set()
- self.required_deps: T.Set[str] = set()
- self.optional_deps_features: T.Dict[str, T.Set[str]] = collections.defaultdict(set)
+ manifest: Manifest
+ downloaded: bool = False
+ features: T.Set[str] = dataclasses.field(default_factory=set)
+ required_deps: T.Set[str] = dataclasses.field(default_factory=set)
+ optional_deps_features: T.Dict[str, T.Set[str]] = dataclasses.field(default_factory=lambda: collections.defaultdict(set))
@dataclasses.dataclass(frozen=True)