From 5c761fb87f6d5ddd60a1b4ad439da772c22443b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oral=20Ersoy=20Dokumac=C4=B1?= Date: Fri, 29 May 2026 21:40:22 +0200 Subject: [PATCH] gh-150403: Document frozendict in language reference Mappings section (GH-150404) (cherry picked from commit 779694faba3e80b944f528a56e9b756b55637541) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Oral Ersoy Dokumacı --- Doc/reference/datamodel.rst | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index aef5bbe151cfeba..e13b2c9db490a14 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -496,7 +496,7 @@ subscript notation ``a[k]`` selects the item indexed by ``k`` from the mapping :keyword:`del` statements. The built-in function :func:`len` returns the number of items in a mapping. -There is currently a single intrinsic mapping type: +There are two intrinsic mapping types: Dictionaries @@ -535,6 +535,20 @@ module. an implementation detail at that time rather than a language guarantee. +Frozen dictionaries +^^^^^^^^^^^^^^^^^^^ + +.. index:: pair: object; frozendict + +These represent an immutable dictionary. They are created by the built-in +:func:`frozendict` constructor. A frozendict is :term:`hashable` if all of +its keys and values are hashable, in which case it can be used as an element +of a set, or as a key in another mapping. :class:`!frozendict` is not a +subclass of :class:`dict`; it inherits directly from :class:`object`. + +.. versionadded:: 3.15 + + Callable types --------------