The :func:`dataclass` decorator will add various "dunder" methods to
the class, described below. If any of the added methods already
- exist on the class, a :exc:`TypeError` will be raised. The decorator
- returns the same class that is called on: no new class is created.
+ exist on the class, the behavior depends on the parameter, as documented
+ below. The decorator returns the same class that is called on; no new
+ class is created.
If :func:`dataclass` is used just as a simple decorator with no parameters,
it acts as if it has the default values documented in this
If the class already defines any of :meth:`__lt__`,
:meth:`__le__`, :meth:`__gt__`, or :meth:`__ge__`, then
- :exc:`ValueError` is raised.
+ :exc:`TypeError` is raised.
- ``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method
is generated according to how ``eq`` and ``frozen`` are set.