From: Roderich Schupp Date: Mon, 26 Jun 2023 18:00:21 +0000 (+0200) Subject: gh-106107: document correct error that's raised when a mutable default value for... X-Git-Tag: v3.13.0a1~1637 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=512f299e557f4ab60768d36cee9968bd92116367;p=thirdparty%2FPython%2Fcpython.git gh-106107: document correct error that's raised when a mutable default value for a field is detected (gh-106109) --- diff --git a/Doc/library/dataclasses.rst b/Doc/library/dataclasses.rst index a5b201499210..535a60ccca8d 100644 --- a/Doc/library/dataclasses.rst +++ b/Doc/library/dataclasses.rst @@ -738,7 +738,7 @@ for ``x`` when creating a class instance will share the same copy of ``x``. Because dataclasses just use normal Python class creation they also share this behavior. There is no general way for Data Classes to detect this condition. Instead, the -:func:`dataclass` decorator will raise a :exc:`TypeError` if it +:func:`dataclass` decorator will raise a :exc:`ValueError` if it detects an unhashable default parameter. The assumption is that if a value is unhashable, it is mutable. This is a partial solution, but it does protect against many common errors.