https://github.com/python/cpython/commit/e13c3d643e508f201a5bcd2e522d4acf6c93f4fe
commit: e13c3d643e508f201a5bcd2e522d4acf6c93f4fe
branch: main
author: Sanghun Lee <[email protected]>
committer: hugovk <[email protected]>
date: 2026-08-17T03:51:28Z
summary:

gh-149083: Document that dataclasses.MISSING and KW_ONLY are sentinels (#155919)

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 ce59d89843e761d..9f4871a55bc8af3 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.
 
@@ -528,11 +528,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
@@ -557,6 +560,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]

Reply via email to