From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 26 Jun 2023 18:12:40 +0000 (-0700) Subject: [3.11] gh-106107: document correct error that's raised when a mutable default value... X-Git-Tag: v3.11.5~252 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97cf0291f5d4adc38fff3bb5804f90b16ed0b627;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-106107: document correct error that's raised when a mutable default value for a field is detected (gh-106109) (gh-106116) gh-106107: document correct error that's raised when a mutable default value for a field is detected (gh-106109) (cherry picked from commit 512f299e557f4ab60768d36cee9968bd92116367) Co-authored-by: Roderich Schupp --- diff --git a/Doc/library/dataclasses.rst b/Doc/library/dataclasses.rst index 58bf96bf4f06..aa71e5e735f2 100644 --- a/Doc/library/dataclasses.rst +++ b/Doc/library/dataclasses.rst @@ -733,7 +733,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.