Unfreeze datastructures

This commit is contained in:
Tom 2025-02-24 13:24:33 +00:00
parent ef844c9b57
commit 162dd48748
3 changed files with 4 additions and 4 deletions

View File

@ -16,7 +16,7 @@ from .tree_formatters import (
from .value_types import QEnum, Values, values_from_json
@dataclass(frozen=True, eq=True, order=True)
@dataclass(frozen=False, eq=True, order=True, unsafe_hash=True)
class Qube:
data: NodeData
children: tuple['Qube', ...]

View File

@ -6,7 +6,7 @@ from frozendict import frozendict
from .value_types import Values
@dataclass(frozen=True, eq=True, order=True)
@dataclass(frozen=False, eq=True, order=True, unsafe_hash=True)
class NodeData:
key: str
values: Values
@ -15,7 +15,7 @@ class NodeData:
def summary(self) -> str:
return f"{self.key}={self.values.summary()}" if self.key != "root" else "root"
@dataclass(frozen=True, eq=True, order=True)
@dataclass(frozen=False, eq=True, order=True)
class RootNodeData(NodeData):
"Helper class to print a custom root name"
def summary(self) -> str:

View File

@ -38,8 +38,8 @@ class Values(ABC):
T = TypeVar("T")
EnumValuesType = FrozenSet[T]
@dataclass(frozen=True, order=True)
@dataclass(frozen=True, order=True)
class QEnum(Values):
"""
The simplest kind of key value is just a list of strings.