Skip to content

Instantly share code, notes, and snippets.

@mypy-play
Created June 8, 2026 21:15
Show Gist options
  • Select an option

  • Save mypy-play/62f0d25a7d072f6baf697599d156ae79 to your computer and use it in GitHub Desktop.

Select an option

Save mypy-play/62f0d25a7d072f6baf697599d156ae79 to your computer and use it in GitHub Desktop.
Shared via mypy Playground
import dataclasses
from functools import partial
from typing import TYPE_CHECKING, TypeAlias
if TYPE_CHECKING:
from dataclasses import dataclass as frozen_nan_safe
else:
def frozen_nan_safe(**kwargs):
assert kwargs['frozen']
return dataclasses.dataclass(**kwargs)
def test_frozen_decorator() -> None:
@frozen_nan_safe(frozen=True)
class Good:
x: float
nan = float('nan')
reveal_type(Good)
hash(Good(nan))
assert Good(nan) == Good(nan)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment