[3.15] gh-149083: Document that dataclasses.MISSING and KW_ONLY are sentinels (GH-155919) (#155927)

hugovk <[email protected]>
Newsgroups gmane.comp.python.cvs
Message-ID <[email protected]>
https://github.com/python/cpython/commit/ac4e5d2108ccc6c60bf836f39f7cfb3a91ef2c82
commit: ac4e5d2108ccc6c60bf836f39f7cfb3a91ef2c82
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: hugovk <[email protected]>
date: 2026-08-17T07:52:25Z
summary:

[3.15] gh-149083: Document that dataclasses.MISSING and KW_ONLY are sentinels (GH-155919) (#155927)

Co-authored-by: Sanghun Lee <[email protected]>
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>

files:
M Doc/library/dataclasses.rst

diff --git a/Doc/library/dataclasses.rst b/Doc/library/dataclasses.rst
index a77213af778ae6d..1f2933a3c62eebb 100644
--- a/Doc/library/dataclasses.rst
+++ b/Doc/library/dataclasses.rst
@@ -262,8 +262,8 @@ Module contents
      c = C()
      c.mylist += [1, 2, 3]
 
-   As shown above, the :const:`MISSING` value is a sentinel object used to
-   detect if some parameters are provided by the user. This sentinel is
+   As shown above, the :const:`MISSING` value is a :class:`sentinel` object
+   used to detect if some parameters are provided by the user. This sentinel is
    used because ``None`` is a valid value for some parameters with
    a distinct meaning.  No code should directly use the :const:`MISSING` value.
 
@@ -523,11 +523,14 @@ Module contents
 
 .. data:: MISSING
 
-   A sentinel value signifying a missing default or default_factory.
+   A :class:`sentinel` object signifying a missing default or *default_factory*.
+
+   .. versionchanged:: 3.15
+      :const:`!MISSING` is now a :class:`sentinel` object.
 
 .. data:: KW_ONLY
 
-   A sentinel value used as a type annotation.  Any fields after a
+   A :class:`sentinel` object used as a type annotation.  Any fields after a
    pseudo-field with the type of :const:`!KW_ONLY` are marked as
    keyword-only fields.  Note that a pseudo-field of type
    :const:`!KW_ONLY` is otherwise completely ignored.  This includes the
@@ -552,6 +555,9 @@ Module contents
 
    .. versionadded:: 3.10
 
+   .. versionchanged:: 3.15
+      :const:`!KW_ONLY` is now a :class:`sentinel` object.
+
 .. exception:: FrozenInstanceError
 
    Raised when an implicitly defined :meth:`~object.__setattr__` or

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.