Skip to content

Commit e980b7f

Browse files
committed
chore(release): v1.2.2
1 parent ca3aa33 commit e980b7f

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changelog
22

3-
## Version 1.2.1
3+
## Version 1.2.2
44

55
- refactor: make it play nicer with pyright's `reportUnhashable`
66
- chore: update setup-uv version in github actions to v6 to support `python-version` parameter

immutable/main.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,27 @@
1414

1515
_T = TypeVar('_T')
1616

17-
# These values should be written explicitly in the dataclass for pyright to recognize
18-
# them.
19-
dataclass_decorator = (
20-
dataclass(frozen=True, eq=False, unsafe_hash=True, kw_only=True)
21-
if sys.version_info >= (3, 10)
22-
else dataclass(frozen=True, eq=False, unsafe_hash=True)
23-
)
24-
2517

2618
@dataclass_transform(kw_only_default=True, frozen_default=True, eq_default=False)
2719
def immutable(cls: type[_T]) -> type[_T]:
20+
dataclass_decorator = dataclass(
21+
frozen=True,
22+
eq=False,
23+
unsafe_hash=True,
24+
**({'kw_only': True} if sys.version_info >= (3, 10) else {}),
25+
)
2826
return dataclass_decorator(cls)
2927

3028

3129
@dataclass_transform(kw_only_default=True, frozen_default=True)
32-
@dataclass_decorator
30+
# These values should be written explicitly in the dataclass for pyright to recognize
31+
# them.
32+
@dataclass(
33+
frozen=True,
34+
eq=False,
35+
unsafe_hash=True,
36+
**({'kw_only': True} if sys.version_info >= (3, 10) else {}),
37+
)
3338
class Immutable:
3439
def __init_subclass__(
3540
cls: type[Immutable],

0 commit comments

Comments
 (0)