Python 3.10.0b2
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 74f7d9c..9c19173 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon May 3 20:34:17 2021
+# Autogenerated by Sphinx on Mon May 31 12:30:19 2021
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@@ -551,13 +551,65 @@
'exception.\n'
' That new exception causes the old one to be lost.\n'
'\n'
- '[2] A string literal appearing as the first statement in the '
+ '[2] In pattern matching, a sequence is defined as one of the\n'
+ ' following:\n'
+ '\n'
+ ' * a class that inherits from "collections.abc.Sequence"\n'
+ '\n'
+ ' * a Python class that has been registered as\n'
+ ' "collections.abc.Sequence"\n'
+ '\n'
+ ' * a builtin class that has its (CPython) '
+ '"Py_TPFLAGS_SEQUENCE"\n'
+ ' bit set\n'
+ '\n'
+ ' * a class that inherits from any of the above\n'
+ '\n'
+ ' The following standard library classes are sequences:\n'
+ '\n'
+ ' * "array.array"\n'
+ '\n'
+ ' * "collections.deque"\n'
+ '\n'
+ ' * "list"\n'
+ '\n'
+ ' * "memoryview"\n'
+ '\n'
+ ' * "range"\n'
+ '\n'
+ ' * "tuple"\n'
+ '\n'
+ ' Note:\n'
+ '\n'
+ ' Subject values of type "str", "bytes", and "bytearray" do '
+ 'not\n'
+ ' match sequence patterns.\n'
+ '\n'
+ '[3] In pattern matching, a mapping is defined as one of the '
+ 'following:\n'
+ '\n'
+ ' * a class that inherits from "collections.abc.Mapping"\n'
+ '\n'
+ ' * a Python class that has been registered as\n'
+ ' "collections.abc.Mapping"\n'
+ '\n'
+ ' * a builtin class that has its (CPython) '
+ '"Py_TPFLAGS_MAPPING"\n'
+ ' bit set\n'
+ '\n'
+ ' * a class that inherits from any of the above\n'
+ '\n'
+ ' The standard library classes "dict" and '
+ '"types.MappingProxyType"\n'
+ ' are mappings.\n'
+ '\n'
+ '[4] A string literal appearing as the first statement in the '
'function\n'
' body is transformed into the function’s "__doc__" attribute '
'and\n'
' therefore the function’s *docstring*.\n'
'\n'
- '[3] A string literal appearing as the first statement in the class\n'
+ '[5] A string literal appearing as the first statement in the class\n'
' body is transformed into the namespace’s "__doc__" item and\n'
' therefore the class’s *docstring*.\n',
'atom-identifiers': 'Identifiers (Names)\n'
@@ -1708,7 +1760,7 @@
'original global namespace. (Usually, the suite contains mostly\n'
'function definitions.) When the class’s suite finishes execution, '
'its\n'
- 'execution frame is discarded but its local namespace is saved. [3] '
+ 'execution frame is discarded but its local namespace is saved. [5] '
'A\n'
'class object is then created using the inheritance list for the '
'base\n'
@@ -3005,7 +3057,7 @@
'\n'
'A single underscore "_" is not a capture pattern (this is what '
'"!\'_\'"\n'
- 'expresses). And is instead treated as a "wildcard_pattern".\n'
+ 'expresses). It is instead treated as a "wildcard_pattern".\n'
'\n'
'In a given pattern, a given name can only be bound once. E.g. '
'"case\n'
@@ -3033,7 +3085,10 @@
'\n'
" wildcard_pattern ::= '_'\n"
'\n'
- '"_" is a soft keyword.\n'
+ '"_" is a soft keyword within any pattern, but only within '
+ 'patterns.\n'
+ 'It is an identifier, as usual, even within "match" subject\n'
+ 'expressions, "guard"s, and "case" blocks.\n'
'\n'
'In simple terms, "_" will always succeed.\n'
'\n'
@@ -3124,8 +3179,9 @@
'pattern\n'
'against a subject value:\n'
'\n'
- '1. If the subject value is not an instance of a\n'
- ' "collections.abc.Sequence" the sequence pattern fails.\n'
+ '1. If the subject value is not a sequence [2], the sequence '
+ 'pattern\n'
+ ' fails.\n'
'\n'
'2. If the subject value is an instance of "str", "bytes" or\n'
' "bytearray" the sequence pattern fails.\n'
@@ -3180,7 +3236,7 @@
'the\n'
'following happens:\n'
'\n'
- '* "isinstance(<subject>, collections.abc.Sequence)"\n'
+ '* check "<subject>" is a sequence\n'
'\n'
'* "len(subject) == <N>"\n'
'\n'
@@ -3224,8 +3280,9 @@
'pattern\n'
'against a subject value:\n'
'\n'
- '1. If the subject value is not an instance of\n'
- ' "collections.abc.Mapping", the mapping pattern fails.\n'
+ '1. If the subject value is not a mapping [3],the mapping '
+ 'pattern\n'
+ ' fails.\n'
'\n'
'2. If every key given in the mapping pattern is present in the '
'subject\n'
@@ -3251,7 +3308,7 @@
'the\n'
'following happens:\n'
'\n'
- '* "isinstance(<subject>, collections.abc.Mapping)"\n'
+ '* check "<subject>" is a mapping\n'
'\n'
'* "KEY1 in <subject>"\n'
'\n'
@@ -3456,7 +3513,7 @@
'\n'
'The function definition does not execute the function body; this '
'gets\n'
- 'executed only when the function is called. [2]\n'
+ 'executed only when the function is called. [4]\n'
'\n'
'A function definition may be wrapped by one or more *decorator*\n'
'expressions. Decorator expressions are evaluated when the '
@@ -3661,7 +3718,7 @@
'function definitions.) When the class’s suite finishes '
'execution, its\n'
'execution frame is discarded but its local namespace is saved. '
- '[3] A\n'
+ '[5] A\n'
'class object is then created using the inheritance list for the '
'base\n'
'classes and the saved local namespace for the attribute '
@@ -3865,13 +3922,65 @@
'exception.\n'
' That new exception causes the old one to be lost.\n'
'\n'
- '[2] A string literal appearing as the first statement in the '
+ '[2] In pattern matching, a sequence is defined as one of the\n'
+ ' following:\n'
+ '\n'
+ ' * a class that inherits from "collections.abc.Sequence"\n'
+ '\n'
+ ' * a Python class that has been registered as\n'
+ ' "collections.abc.Sequence"\n'
+ '\n'
+ ' * a builtin class that has its (CPython) '
+ '"Py_TPFLAGS_SEQUENCE"\n'
+ ' bit set\n'
+ '\n'
+ ' * a class that inherits from any of the above\n'
+ '\n'
+ ' The following standard library classes are sequences:\n'
+ '\n'
+ ' * "array.array"\n'
+ '\n'
+ ' * "collections.deque"\n'
+ '\n'
+ ' * "list"\n'
+ '\n'
+ ' * "memoryview"\n'
+ '\n'
+ ' * "range"\n'
+ '\n'
+ ' * "tuple"\n'
+ '\n'
+ ' Note:\n'
+ '\n'
+ ' Subject values of type "str", "bytes", and "bytearray" do '
+ 'not\n'
+ ' match sequence patterns.\n'
+ '\n'
+ '[3] In pattern matching, a mapping is defined as one of the '
+ 'following:\n'
+ '\n'
+ ' * a class that inherits from "collections.abc.Mapping"\n'
+ '\n'
+ ' * a Python class that has been registered as\n'
+ ' "collections.abc.Mapping"\n'
+ '\n'
+ ' * a builtin class that has its (CPython) '
+ '"Py_TPFLAGS_MAPPING"\n'
+ ' bit set\n'
+ '\n'
+ ' * a class that inherits from any of the above\n'
+ '\n'
+ ' The standard library classes "dict" and '
+ '"types.MappingProxyType"\n'
+ ' are mappings.\n'
+ '\n'
+ '[4] A string literal appearing as the first statement in the '
'function\n'
' body is transformed into the function’s "__doc__" attribute '
'and\n'
' therefore the function’s *docstring*.\n'
'\n'
- '[3] A string literal appearing as the first statement in the '
+ '[5] A string literal appearing as the first statement in the '
'class\n'
' body is transformed into the namespace’s "__doc__" item and\n'
' therefore the class’s *docstring*.\n',
@@ -6095,19 +6204,19 @@
'complex\n'
'types. For integers, when binary, octal, or hexadecimal '
'output is\n'
- 'used, this option adds the prefix respective "\'0b\'", '
- '"\'0o\'", or "\'0x\'"\n'
- 'to the output value. For float and complex the alternate '
- 'form causes\n'
- 'the result of the conversion to always contain a '
- 'decimal-point\n'
- 'character, even if no digits follow it. Normally, a '
- 'decimal-point\n'
- 'character appears in the result of these conversions only '
- 'if a digit\n'
- 'follows it. In addition, for "\'g\'" and "\'G\'" '
- 'conversions, trailing\n'
- 'zeros are not removed from the result.\n'
+ 'used, this option adds the respective prefix "\'0b\'", '
+ '"\'0o\'", "\'0x\'",\n'
+ 'or "\'0X\'" to the output value. For float and complex the '
+ 'alternate\n'
+ 'form causes the result of the conversion to always contain '
+ 'a decimal-\n'
+ 'point character, even if no digits follow it. Normally, a '
+ 'decimal-\n'
+ 'point character appears in the result of these conversions '
+ 'only if a\n'
+ 'digit follows it. In addition, for "\'g\'" and "\'G\'" '
+ 'conversions,\n'
+ 'trailing zeros are not removed from the result.\n'
'\n'
'The "\',\'" option signals the use of a comma for a '
'thousands separator.\n'
@@ -6224,8 +6333,12 @@
'+-----------+------------------------------------------------------------+\n'
' | "\'X\'" | Hex format. Outputs the number in base '
'16, using upper- |\n'
- ' | | case letters for the digits above '
- '9. |\n'
+ ' | | case letters for the digits above 9. In '
+ 'case "\'#\'" is |\n'
+ ' | | specified, the prefix "\'0x\'" will be '
+ 'upper-cased to "\'0X\'" |\n'
+ ' | | as '
+ 'well. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'n\'" | Number. This is the same as "\'d\'", '
@@ -6606,7 +6719,7 @@
'\n'
'The function definition does not execute the function body; this '
'gets\n'
- 'executed only when the function is called. [2]\n'
+ 'executed only when the function is called. [4]\n'
'\n'
'A function definition may be wrapped by one or more *decorator*\n'
'expressions. Decorator expressions are evaluated when the '
@@ -7085,7 +7198,7 @@
' | "from" relative_module "import" "(" '
'identifier ["as" identifier]\n'
' ("," identifier ["as" identifier])* [","] ")"\n'
- ' | "from" module "import" "*"\n'
+ ' | "from" relative_module "import" "*"\n'
' module ::= (identifier ".")* identifier\n'
' relative_module ::= "."* module | "."+\n'
'\n'