Nuitka-winsvc 2.3.9__cp311-cp311-win_amd64.whl → 2.4.1__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of Nuitka-winsvc might be problematic. Click here for more details.

Files changed (213) hide show
  1. Nuitka_winsvc-2.3.9.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.1.data/scripts/nuitka-run.cmd +1 -1
  2. {Nuitka_winsvc-2.3.9.dist-info → Nuitka_winsvc-2.4.1.dist-info}/METADATA +1 -1
  3. {Nuitka_winsvc-2.3.9.dist-info → Nuitka_winsvc-2.4.1.dist-info}/RECORD +213 -210
  4. {Nuitka_winsvc-2.3.9.dist-info → Nuitka_winsvc-2.4.1.dist-info}/WHEEL +1 -1
  5. nuitka/CacheCleanup.py +6 -1
  6. nuitka/HardImportRegistry.py +29 -2
  7. nuitka/MainControl.py +62 -35
  8. nuitka/ModuleRegistry.py +11 -3
  9. nuitka/OptionParsing.py +78 -39
  10. nuitka/Options.py +142 -35
  11. nuitka/OutputDirectories.py +5 -0
  12. nuitka/PostProcessing.py +23 -14
  13. nuitka/PythonFlavors.py +22 -4
  14. nuitka/PythonVersions.py +18 -0
  15. nuitka/Tracing.py +26 -23
  16. nuitka/TreeXML.py +6 -3
  17. nuitka/Version.py +1 -1
  18. nuitka/__main__.py +55 -10
  19. nuitka/build/Backend.scons +6 -1
  20. nuitka/build/CCompilerVersion.scons +1 -0
  21. nuitka/build/Onefile.scons +4 -0
  22. nuitka/build/SconsCaching.py +1 -0
  23. nuitka/build/SconsCompilerSettings.py +1 -0
  24. nuitka/build/SconsHacks.py +5 -1
  25. nuitka/build/SconsInterface.py +2 -0
  26. nuitka/build/SconsUtils.py +5 -2
  27. nuitka/build/include/nuitka/allocator.h +27 -5
  28. nuitka/build/include/nuitka/calling.h +1 -1
  29. nuitka/build/include/nuitka/compiled_frame.h +23 -23
  30. nuitka/build/include/nuitka/compiled_method.h +1 -1
  31. nuitka/build/include/nuitka/exception_groups.h +0 -2
  32. nuitka/build/include/nuitka/helper/attributes.h +7 -1
  33. nuitka/build/include/nuitka/helper/subscripts.h +1 -1
  34. nuitka/build/include/nuitka/helpers.h +7 -4
  35. nuitka/build/include/nuitka/prelude.h +6 -10
  36. nuitka/build/include/nuitka/printing.h +2 -0
  37. nuitka/build/include/nuitka/unfreezing.h +5 -5
  38. nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
  39. nuitka/build/static_src/CompiledAsyncgenType.c +2 -4
  40. nuitka/build/static_src/CompiledCellType.c +7 -7
  41. nuitka/build/static_src/CompiledCodeHelpers.c +51 -36
  42. nuitka/build/static_src/CompiledCoroutineType.c +2 -4
  43. nuitka/build/static_src/CompiledFrameType.c +109 -82
  44. nuitka/build/static_src/CompiledFunctionType.c +36 -9
  45. nuitka/build/static_src/CompiledGeneratorType.c +12 -10
  46. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +2 -2
  47. nuitka/build/static_src/CompiledMethodType.c +14 -13
  48. nuitka/build/static_src/HelpersAttributes.c +13 -15
  49. nuitka/build/static_src/HelpersBuiltin.c +18 -9
  50. nuitka/build/static_src/HelpersCalling.c +13 -13
  51. nuitka/build/static_src/HelpersCallingGenerated.c +22 -22
  52. nuitka/build/static_src/HelpersComparisonEq.c +110 -110
  53. nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -1
  54. nuitka/build/static_src/HelpersComparisonGe.c +110 -110
  55. nuitka/build/static_src/HelpersComparisonGt.c +110 -110
  56. nuitka/build/static_src/HelpersComparisonLe.c +110 -110
  57. nuitka/build/static_src/HelpersComparisonLt.c +110 -110
  58. nuitka/build/static_src/HelpersComparisonNe.c +110 -110
  59. nuitka/build/static_src/HelpersConstantsBlob.c +480 -481
  60. nuitka/build/static_src/HelpersDictionaries.c +9 -0
  61. nuitka/build/static_src/HelpersFiles.c +2 -2
  62. nuitka/build/static_src/HelpersFilesystemPaths.c +28 -13
  63. nuitka/build/static_src/HelpersHeapStorage.c +4 -0
  64. nuitka/build/static_src/HelpersImport.c +1 -1
  65. nuitka/build/static_src/HelpersLists.c +5 -1
  66. nuitka/build/static_src/HelpersMatching.c +95 -35
  67. nuitka/build/static_src/HelpersOperationInplaceAdd.c +23 -23
  68. nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -0
  69. nuitka/build/static_src/HelpersOperationInplaceBitand.c +11 -11
  70. nuitka/build/static_src/HelpersOperationInplaceBitor.c +11 -11
  71. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +11 -11
  72. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +17 -17
  73. nuitka/build/static_src/HelpersOperationInplaceLshift.c +9 -9
  74. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +10 -10
  75. nuitka/build/static_src/HelpersOperationInplaceMod.c +47 -47
  76. nuitka/build/static_src/HelpersOperationInplaceMult.c +28 -28
  77. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +17 -17
  78. nuitka/build/static_src/HelpersOperationInplacePow.c +17 -17
  79. nuitka/build/static_src/HelpersOperationInplaceRshift.c +9 -9
  80. nuitka/build/static_src/HelpersOperationInplaceSub.c +17 -17
  81. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +17 -17
  82. nuitka/build/static_src/HelpersSequences.c +1 -1
  83. nuitka/build/static_src/HelpersTypes.c +8 -4
  84. nuitka/build/static_src/MainProgram.c +28 -9
  85. nuitka/build/static_src/MetaPathBasedLoader.c +126 -110
  86. nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +13 -4
  87. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +30 -1
  88. nuitka/build/static_src/OnefileBootstrap.c +34 -6
  89. nuitka/code_generation/AttributeCodes.py +12 -10
  90. nuitka/code_generation/CodeGeneration.py +6 -7
  91. nuitka/code_generation/ConstantCodes.py +53 -10
  92. nuitka/code_generation/GlobalConstants.py +6 -6
  93. nuitka/code_generation/Indentation.py +3 -4
  94. nuitka/code_generation/LoaderCodes.py +3 -0
  95. nuitka/code_generation/LocalsDictCodes.py +36 -14
  96. nuitka/code_generation/MatchCodes.py +23 -4
  97. nuitka/code_generation/ModuleCodes.py +0 -7
  98. nuitka/code_generation/Namify.py +2 -0
  99. nuitka/code_generation/PackageResourceCodes.py +5 -1
  100. nuitka/code_generation/templates/CodeTemplatesConstants.py +6 -4
  101. nuitka/code_generation/templates/CodeTemplatesLoader.py +1 -1
  102. nuitka/code_generation/templates/CodeTemplatesModules.py +3 -3
  103. nuitka/code_generation/templates/CodeTemplatesVariables.py +16 -2
  104. nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +2 -2
  105. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +1 -1
  106. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
  107. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +7 -7
  108. nuitka/freezer/DependsExe.py +3 -1
  109. nuitka/freezer/DllDependenciesMacOS.py +28 -14
  110. nuitka/freezer/IncludedDataFiles.py +12 -3
  111. nuitka/freezer/IncludedEntryPoints.py +8 -2
  112. nuitka/freezer/Onefile.py +6 -1
  113. nuitka/freezer/Standalone.py +9 -2
  114. nuitka/importing/Importing.py +14 -5
  115. nuitka/importing/Recursion.py +3 -0
  116. nuitka/nodes/AttributeNodesGenerated.py +21 -12
  117. nuitka/nodes/BuiltinOpenNodes.py +5 -0
  118. nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +11 -11
  119. nuitka/nodes/BuiltinRefNodes.py +41 -1
  120. nuitka/nodes/ChildrenHavingMixins.py +143 -355
  121. nuitka/nodes/ClassNodes.py +30 -12
  122. nuitka/nodes/CodeObjectSpecs.py +9 -0
  123. nuitka/nodes/ExpressionBasesGenerated.py +11 -11
  124. nuitka/nodes/FunctionNodes.py +11 -12
  125. nuitka/nodes/FutureSpecs.py +16 -3
  126. nuitka/nodes/GeneratorNodes.py +2 -2
  127. nuitka/nodes/HardImportNodesGenerated.py +11 -134
  128. nuitka/nodes/LocalsScopes.py +19 -23
  129. nuitka/nodes/MatchNodes.py +18 -7
  130. nuitka/nodes/ModuleAttributeNodes.py +1 -20
  131. nuitka/nodes/ModuleNodes.py +23 -6
  132. nuitka/nodes/NodeBases.py +13 -11
  133. nuitka/nodes/NodeMetaClasses.py +26 -10
  134. nuitka/nodes/ReturnNodes.py +1 -1
  135. nuitka/nodes/StatementBasesGenerated.py +11 -11
  136. nuitka/nodes/SubscriptNodes.py +4 -4
  137. nuitka/nodes/VariableAssignNodes.py +1 -1
  138. nuitka/nodes/VariableRefNodes.py +28 -2
  139. nuitka/nodes/shapes/BuiltinTypeShapes.py +21 -1
  140. nuitka/optimizations/FunctionInlining.py +3 -6
  141. nuitka/optimizations/Optimization.py +13 -12
  142. nuitka/optimizations/TraceCollections.py +19 -4
  143. nuitka/plugins/PluginBase.py +121 -133
  144. nuitka/plugins/Plugins.py +91 -3
  145. nuitka/plugins/YamlPluginBase.py +121 -0
  146. nuitka/plugins/standard/AntiBloatPlugin.py +87 -28
  147. nuitka/plugins/standard/DataFilesPlugin.py +15 -6
  148. nuitka/plugins/standard/DelvewheelPlugin.py +7 -3
  149. nuitka/plugins/standard/DllFilesPlugin.py +5 -3
  150. nuitka/plugins/standard/ImplicitImports.py +34 -20
  151. nuitka/plugins/standard/MatplotlibPlugin.py +3 -1
  152. nuitka/plugins/standard/MultiprocessingPlugin.py +2 -2
  153. nuitka/plugins/standard/OptionsNannyPlugin.py +1 -1
  154. nuitka/plugins/standard/PySidePyQtPlugin.py +11 -12
  155. nuitka/plugins/standard/SpacyPlugin.py +136 -0
  156. nuitka/plugins/standard/standard.nuitka-package.config.yml +491 -186
  157. nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +17 -0
  158. nuitka/reports/Reports.py +53 -5
  159. nuitka/specs/BuiltinParameterSpecs.py +1 -1
  160. nuitka/specs/HardImportSpecs.py +0 -6
  161. nuitka/tools/data_composer/DataComposer.py +29 -27
  162. nuitka/tools/environments/CreateEnvironment.py +1 -0
  163. nuitka/tools/environments/Virtualenv.py +25 -11
  164. nuitka/tools/general/find_module/FindModuleCode.py +13 -3
  165. nuitka/tools/onefile_compressor/OnefileCompressor.py +21 -4
  166. nuitka/tools/scanning/DisplayPackageDLLs.py +17 -3
  167. nuitka/tools/specialize/CTypeDescriptions.py +13 -7
  168. nuitka/tools/specialize/SpecializePython.py +18 -1
  169. nuitka/tools/testing/Common.py +19 -6
  170. nuitka/tools/testing/check_reference_counts/__main__.py +1 -1
  171. nuitka/tools/testing/run_nuitka_tests/__main__.py +0 -20
  172. nuitka/tools/watch/AutoStage.py +144 -0
  173. nuitka/tools/watch/__main__.py +79 -32
  174. nuitka/tree/Building.py +105 -104
  175. nuitka/tree/ComplexCallHelperFunctions.py +16 -26
  176. nuitka/tree/InternalModule.py +9 -1
  177. nuitka/tree/ReformulationAssignmentStatements.py +29 -59
  178. nuitka/tree/ReformulationClasses.py +10 -17
  179. nuitka/tree/ReformulationClasses3.py +69 -43
  180. nuitka/tree/ReformulationComparisonExpressions.py +6 -16
  181. nuitka/tree/ReformulationContractionExpressions.py +14 -23
  182. nuitka/tree/ReformulationDictionaryCreation.py +6 -10
  183. nuitka/tree/ReformulationExecStatements.py +10 -10
  184. nuitka/tree/ReformulationForLoopStatements.py +6 -12
  185. nuitka/tree/ReformulationFunctionStatements.py +22 -28
  186. nuitka/tree/ReformulationImportStatements.py +8 -10
  187. nuitka/tree/ReformulationLambdaExpressions.py +3 -6
  188. nuitka/tree/ReformulationMatchStatements.py +166 -60
  189. nuitka/tree/ReformulationMultidist.py +3 -1
  190. nuitka/tree/ReformulationNamespacePackages.py +1 -1
  191. nuitka/tree/ReformulationPrintStatements.py +3 -6
  192. nuitka/tree/ReformulationSequenceCreation.py +13 -26
  193. nuitka/tree/ReformulationTryFinallyStatements.py +15 -0
  194. nuitka/tree/ReformulationWithStatements.py +12 -16
  195. nuitka/tree/SourceHandling.py +13 -8
  196. nuitka/tree/VariableClosure.py +5 -21
  197. nuitka/utils/Distributions.py +80 -11
  198. nuitka/utils/Download.py +38 -31
  199. nuitka/utils/Execution.py +21 -9
  200. nuitka/utils/FileOperations.py +55 -28
  201. nuitka/utils/Images.py +6 -1
  202. nuitka/utils/Importing.py +1 -1
  203. nuitka/utils/ModuleNames.py +11 -5
  204. nuitka/utils/ReExecute.py +17 -13
  205. nuitka/utils/SharedLibraries.py +69 -41
  206. nuitka/utils/Signing.py +3 -1
  207. nuitka/utils/StaticLibraries.py +51 -41
  208. nuitka/utils/Timing.py +1 -1
  209. nuitka/utils/Utils.py +29 -7
  210. /Nuitka_winsvc-2.3.9.data/scripts/nuitka.bat → /Nuitka_winsvc-2.4.1.data/scripts/nuitka.cmd +0 -0
  211. {Nuitka_winsvc-2.3.9.dist-info → Nuitka_winsvc-2.4.1.dist-info}/LICENSE.txt +0 -0
  212. {Nuitka_winsvc-2.3.9.dist-info → Nuitka_winsvc-2.4.1.dist-info}/entry_points.txt +0 -0
  213. {Nuitka_winsvc-2.3.9.dist-info → Nuitka_winsvc-2.4.1.dist-info}/top_level.txt +0 -0
@@ -248,7 +248,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_INT(PyObject *
248
248
  }
249
249
  #endif
250
250
 
251
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'int'", type1->tp_name);
251
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'int'", type1->tp_name);
252
252
  goto exit_inplace_exception;
253
253
  }
254
254
 
@@ -515,7 +515,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_INT_OBJECT(PyObject *
515
515
  }
516
516
  #endif
517
517
 
518
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and '%s'", type2->tp_name);
518
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and '%s'", type2->tp_name);
519
519
  goto exit_inplace_exception;
520
520
  }
521
521
 
@@ -829,9 +829,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_LONG(PyObject
829
829
  #endif
830
830
 
831
831
  #if PYTHON_VERSION < 0x300
832
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'long'", type1->tp_name);
832
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'long'", type1->tp_name);
833
833
  #else
834
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'int'", type1->tp_name);
834
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'int'", type1->tp_name);
835
835
  #endif
836
836
  goto exit_inplace_exception;
837
837
  }
@@ -1049,9 +1049,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_LONG_OBJECT(PyObject
1049
1049
  #endif
1050
1050
 
1051
1051
  #if PYTHON_VERSION < 0x300
1052
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'long' and '%s'", type2->tp_name);
1052
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'long' and '%s'", type2->tp_name);
1053
1053
  #else
1054
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and '%s'", type2->tp_name);
1054
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and '%s'", type2->tp_name);
1055
1055
  #endif
1056
1056
  goto exit_inplace_exception;
1057
1057
  }
@@ -1333,7 +1333,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_FLOAT(PyObject
1333
1333
  }
1334
1334
  #endif
1335
1335
 
1336
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'float'", type1->tp_name);
1336
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'float'", type1->tp_name);
1337
1337
  goto exit_inplace_exception;
1338
1338
  }
1339
1339
 
@@ -1568,7 +1568,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_FLOAT_OBJECT(PyObject
1568
1568
  }
1569
1569
  #endif
1570
1570
 
1571
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and '%s'", type2->tp_name);
1571
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and '%s'", type2->tp_name);
1572
1572
  goto exit_inplace_exception;
1573
1573
  }
1574
1574
 
@@ -1701,9 +1701,9 @@ static inline bool _INPLACE_OPERATION_OLDDIV_FLOAT_LONG(PyObject **operand1, PyO
1701
1701
  // Statically recognized that coercion is not possible with these types
1702
1702
 
1703
1703
  #if PYTHON_VERSION < 0x300
1704
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and 'long'");
1704
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and 'long'");
1705
1705
  #else
1706
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and 'int'");
1706
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and 'int'");
1707
1707
  #endif
1708
1708
  goto exit_inplace_exception;
1709
1709
  }
@@ -1777,9 +1777,9 @@ static inline bool _INPLACE_OPERATION_OLDDIV_LONG_FLOAT(PyObject **operand1, PyO
1777
1777
  // Statically recognized that coercion is not possible with these types
1778
1778
 
1779
1779
  #if PYTHON_VERSION < 0x300
1780
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'long' and 'float'");
1780
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'long' and 'float'");
1781
1781
  #else
1782
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and 'float'");
1782
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and 'float'");
1783
1783
  #endif
1784
1784
  goto exit_inplace_exception;
1785
1785
  }
@@ -1846,7 +1846,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_FLOAT_INT(PyObject **operand1, PyOb
1846
1846
 
1847
1847
  // Statically recognized that coercion is not possible with these types
1848
1848
 
1849
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and 'int'");
1849
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and 'int'");
1850
1850
  goto exit_inplace_exception;
1851
1851
  }
1852
1852
 
@@ -1918,7 +1918,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_INT_FLOAT(PyObject **operand1, PyOb
1918
1918
 
1919
1919
  // Statically recognized that coercion is not possible with these types
1920
1920
 
1921
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and 'float'");
1921
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and 'float'");
1922
1922
  goto exit_inplace_exception;
1923
1923
  }
1924
1924
 
@@ -1984,7 +1984,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_LONG_INT(PyObject **operand1, PyObj
1984
1984
 
1985
1985
  // Statically recognized that coercion is not possible with these types
1986
1986
 
1987
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'long' and 'int'");
1987
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'long' and 'int'");
1988
1988
  goto exit_inplace_exception;
1989
1989
  }
1990
1990
 
@@ -2056,7 +2056,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_INT_LONG(PyObject **operand1, PyObj
2056
2056
 
2057
2057
  // Statically recognized that coercion is not possible with these types
2058
2058
 
2059
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and 'long'");
2059
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and 'long'");
2060
2060
  goto exit_inplace_exception;
2061
2061
  }
2062
2062
 
@@ -2504,7 +2504,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_OBJECT_OBJECT(PyObject **operand1,
2504
2504
  }
2505
2505
  #endif
2506
2506
 
2507
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and '%s'", type1->tp_name,
2507
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and '%s'", type1->tp_name,
2508
2508
  type2->tp_name);
2509
2509
  goto exit_inplace_exception;
2510
2510
  }
@@ -324,7 +324,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_POW_OBJECT_FLOAT(PyObject **
324
324
  }
325
325
  #endif
326
326
 
327
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): '%s' and 'float'", type1->tp_name);
327
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: '%s' and 'float'", type1->tp_name);
328
328
  goto exit_inplace_exception;
329
329
  }
330
330
 
@@ -668,7 +668,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_POW_FLOAT_OBJECT(PyObject **
668
668
  }
669
669
  #endif
670
670
 
671
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'float' and '%s'", type2->tp_name);
671
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'float' and '%s'", type2->tp_name);
672
672
  goto exit_inplace_exception;
673
673
  }
674
674
 
@@ -1057,9 +1057,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_POW_OBJECT_LONG(PyObject **o
1057
1057
  #endif
1058
1058
 
1059
1059
  #if PYTHON_VERSION < 0x300
1060
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): '%s' and 'long'", type1->tp_name);
1060
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: '%s' and 'long'", type1->tp_name);
1061
1061
  #else
1062
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): '%s' and 'int'", type1->tp_name);
1062
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: '%s' and 'int'", type1->tp_name);
1063
1063
  #endif
1064
1064
  goto exit_inplace_exception;
1065
1065
  }
@@ -1275,9 +1275,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_POW_LONG_OBJECT(PyObject **o
1275
1275
  #endif
1276
1276
 
1277
1277
  #if PYTHON_VERSION < 0x300
1278
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'long' and '%s'", type2->tp_name);
1278
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'long' and '%s'", type2->tp_name);
1279
1279
  #else
1280
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'int' and '%s'", type2->tp_name);
1280
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'int' and '%s'", type2->tp_name);
1281
1281
  #endif
1282
1282
  goto exit_inplace_exception;
1283
1283
  }
@@ -1616,7 +1616,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_POW_OBJECT_INT(PyObject **op
1616
1616
  }
1617
1617
  #endif
1618
1618
 
1619
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): '%s' and 'int'", type1->tp_name);
1619
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: '%s' and 'int'", type1->tp_name);
1620
1620
  goto exit_inplace_exception;
1621
1621
  }
1622
1622
 
@@ -1909,7 +1909,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_POW_INT_OBJECT(PyObject **op
1909
1909
  }
1910
1910
  #endif
1911
1911
 
1912
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'int' and '%s'", type2->tp_name);
1912
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'int' and '%s'", type2->tp_name);
1913
1913
  goto exit_inplace_exception;
1914
1914
  }
1915
1915
 
@@ -2099,9 +2099,9 @@ static inline bool _INPLACE_OPERATION_POW_FLOAT_LONG(PyObject **operand1, PyObje
2099
2099
  // Statically recognized that coercion is not possible with these types
2100
2100
 
2101
2101
  #if PYTHON_VERSION < 0x300
2102
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'float' and 'long'");
2102
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'float' and 'long'");
2103
2103
  #else
2104
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'float' and 'int'");
2104
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'float' and 'int'");
2105
2105
  #endif
2106
2106
  goto exit_inplace_exception;
2107
2107
  }
@@ -2173,9 +2173,9 @@ static inline bool _INPLACE_OPERATION_POW_LONG_FLOAT(PyObject **operand1, PyObje
2173
2173
  // Statically recognized that coercion is not possible with these types
2174
2174
 
2175
2175
  #if PYTHON_VERSION < 0x300
2176
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'long' and 'float'");
2176
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'long' and 'float'");
2177
2177
  #else
2178
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'int' and 'float'");
2178
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'int' and 'float'");
2179
2179
  #endif
2180
2180
  goto exit_inplace_exception;
2181
2181
  }
@@ -2241,7 +2241,7 @@ static inline bool _INPLACE_OPERATION_POW_FLOAT_INT(PyObject **operand1, PyObjec
2241
2241
 
2242
2242
  // Statically recognized that coercion is not possible with these types
2243
2243
 
2244
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'float' and 'int'");
2244
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'float' and 'int'");
2245
2245
  goto exit_inplace_exception;
2246
2246
  }
2247
2247
 
@@ -2313,7 +2313,7 @@ static inline bool _INPLACE_OPERATION_POW_INT_FLOAT(PyObject **operand1, PyObjec
2313
2313
 
2314
2314
  // Statically recognized that coercion is not possible with these types
2315
2315
 
2316
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'int' and 'float'");
2316
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'int' and 'float'");
2317
2317
  goto exit_inplace_exception;
2318
2318
  }
2319
2319
 
@@ -2379,7 +2379,7 @@ static inline bool _INPLACE_OPERATION_POW_LONG_INT(PyObject **operand1, PyObject
2379
2379
 
2380
2380
  // Statically recognized that coercion is not possible with these types
2381
2381
 
2382
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'long' and 'int'");
2382
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'long' and 'int'");
2383
2383
  goto exit_inplace_exception;
2384
2384
  }
2385
2385
 
@@ -2451,7 +2451,7 @@ static inline bool _INPLACE_OPERATION_POW_INT_LONG(PyObject **operand1, PyObject
2451
2451
 
2452
2452
  // Statically recognized that coercion is not possible with these types
2453
2453
 
2454
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): 'int' and 'long'");
2454
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: 'int' and 'long'");
2455
2455
  goto exit_inplace_exception;
2456
2456
  }
2457
2457
 
@@ -2764,7 +2764,7 @@ static inline bool _INPLACE_OPERATION_POW_OBJECT_OBJECT(PyObject **operand1, PyO
2764
2764
  }
2765
2765
  #endif
2766
2766
 
2767
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ** or pow(): '%s' and '%s'", type1->tp_name,
2767
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for **=: '%s' and '%s'", type1->tp_name,
2768
2768
  type2->tp_name);
2769
2769
  goto exit_inplace_exception;
2770
2770
  }
@@ -195,9 +195,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_RSHIFT_OBJECT_LONG(PyObject
195
195
  #endif
196
196
 
197
197
  #if PYTHON_VERSION < 0x300
198
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: '%s' and 'long'", type1->tp_name);
198
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: '%s' and 'long'", type1->tp_name);
199
199
  #else
200
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: '%s' and 'int'", type1->tp_name);
200
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: '%s' and 'int'", type1->tp_name);
201
201
  #endif
202
202
  goto exit_inplace_exception;
203
203
  }
@@ -413,9 +413,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_RSHIFT_LONG_OBJECT(PyObject
413
413
  #endif
414
414
 
415
415
  #if PYTHON_VERSION < 0x300
416
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: 'long' and '%s'", type2->tp_name);
416
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: 'long' and '%s'", type2->tp_name);
417
417
  #else
418
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: 'int' and '%s'", type2->tp_name);
418
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: 'int' and '%s'", type2->tp_name);
419
419
  #endif
420
420
  goto exit_inplace_exception;
421
421
  }
@@ -722,7 +722,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_RSHIFT_OBJECT_INT(PyObject *
722
722
  }
723
723
  #endif
724
724
 
725
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: '%s' and 'int'", type1->tp_name);
725
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: '%s' and 'int'", type1->tp_name);
726
726
  goto exit_inplace_exception;
727
727
  }
728
728
 
@@ -983,7 +983,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_RSHIFT_INT_OBJECT(PyObject *
983
983
  }
984
984
  #endif
985
985
 
986
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: 'int' and '%s'", type2->tp_name);
986
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: 'int' and '%s'", type2->tp_name);
987
987
  goto exit_inplace_exception;
988
988
  }
989
989
 
@@ -1141,7 +1141,7 @@ static inline bool _INPLACE_OPERATION_RSHIFT_LONG_INT(PyObject **operand1, PyObj
1141
1141
 
1142
1142
  // Statically recognized that coercion is not possible with these types
1143
1143
 
1144
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: 'long' and 'int'");
1144
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: 'long' and 'int'");
1145
1145
  goto exit_inplace_exception;
1146
1146
  }
1147
1147
 
@@ -1213,7 +1213,7 @@ static inline bool _INPLACE_OPERATION_RSHIFT_INT_LONG(PyObject **operand1, PyObj
1213
1213
 
1214
1214
  // Statically recognized that coercion is not possible with these types
1215
1215
 
1216
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: 'int' and 'long'");
1216
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: 'int' and 'long'");
1217
1217
  goto exit_inplace_exception;
1218
1218
  }
1219
1219
 
@@ -1491,7 +1491,7 @@ static inline bool _INPLACE_OPERATION_RSHIFT_OBJECT_OBJECT(PyObject **operand1,
1491
1491
  }
1492
1492
  #endif
1493
1493
 
1494
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>: '%s' and '%s'", type1->tp_name,
1494
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for >>=: '%s' and '%s'", type1->tp_name,
1495
1495
  type2->tp_name);
1496
1496
  goto exit_inplace_exception;
1497
1497
  }
@@ -229,7 +229,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_SUB_OBJECT_INT(PyObject **op
229
229
  }
230
230
  #endif
231
231
 
232
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: '%s' and 'int'", type1->tp_name);
232
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: '%s' and 'int'", type1->tp_name);
233
233
  goto exit_inplace_exception;
234
234
  }
235
235
 
@@ -477,7 +477,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_SUB_INT_OBJECT(PyObject **op
477
477
  }
478
478
  #endif
479
479
 
480
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'int' and '%s'", type2->tp_name);
480
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'int' and '%s'", type2->tp_name);
481
481
  goto exit_inplace_exception;
482
482
  }
483
483
 
@@ -847,9 +847,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_SUB_OBJECT_LONG(PyObject **o
847
847
  #endif
848
848
 
849
849
  #if PYTHON_VERSION < 0x300
850
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: '%s' and 'long'", type1->tp_name);
850
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: '%s' and 'long'", type1->tp_name);
851
851
  #else
852
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: '%s' and 'int'", type1->tp_name);
852
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: '%s' and 'int'", type1->tp_name);
853
853
  #endif
854
854
  goto exit_inplace_exception;
855
855
  }
@@ -1143,9 +1143,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_SUB_LONG_OBJECT(PyObject **o
1143
1143
  #endif
1144
1144
 
1145
1145
  #if PYTHON_VERSION < 0x300
1146
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'long' and '%s'", type2->tp_name);
1146
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'long' and '%s'", type2->tp_name);
1147
1147
  #else
1148
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'int' and '%s'", type2->tp_name);
1148
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'int' and '%s'", type2->tp_name);
1149
1149
  #endif
1150
1150
  goto exit_inplace_exception;
1151
1151
  }
@@ -1489,7 +1489,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_SUB_OBJECT_FLOAT(PyObject **
1489
1489
  }
1490
1490
  #endif
1491
1491
 
1492
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: '%s' and 'float'", type1->tp_name);
1492
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: '%s' and 'float'", type1->tp_name);
1493
1493
  goto exit_inplace_exception;
1494
1494
  }
1495
1495
 
@@ -1710,7 +1710,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_SUB_FLOAT_OBJECT(PyObject **
1710
1710
  }
1711
1711
  #endif
1712
1712
 
1713
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'float' and '%s'", type2->tp_name);
1713
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'float' and '%s'", type2->tp_name);
1714
1714
  goto exit_inplace_exception;
1715
1715
  }
1716
1716
 
@@ -1829,9 +1829,9 @@ static inline bool _INPLACE_OPERATION_SUB_FLOAT_LONG(PyObject **operand1, PyObje
1829
1829
  // Statically recognized that coercion is not possible with these types
1830
1830
 
1831
1831
  #if PYTHON_VERSION < 0x300
1832
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'float' and 'long'");
1832
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'float' and 'long'");
1833
1833
  #else
1834
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'float' and 'int'");
1834
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'float' and 'int'");
1835
1835
  #endif
1836
1836
  goto exit_inplace_exception;
1837
1837
  }
@@ -1903,9 +1903,9 @@ static inline bool _INPLACE_OPERATION_SUB_LONG_FLOAT(PyObject **operand1, PyObje
1903
1903
  // Statically recognized that coercion is not possible with these types
1904
1904
 
1905
1905
  #if PYTHON_VERSION < 0x300
1906
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'long' and 'float'");
1906
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'long' and 'float'");
1907
1907
  #else
1908
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'int' and 'float'");
1908
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'int' and 'float'");
1909
1909
  #endif
1910
1910
  goto exit_inplace_exception;
1911
1911
  }
@@ -1971,7 +1971,7 @@ static inline bool _INPLACE_OPERATION_SUB_FLOAT_INT(PyObject **operand1, PyObjec
1971
1971
 
1972
1972
  // Statically recognized that coercion is not possible with these types
1973
1973
 
1974
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'float' and 'int'");
1974
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'float' and 'int'");
1975
1975
  goto exit_inplace_exception;
1976
1976
  }
1977
1977
 
@@ -2043,7 +2043,7 @@ static inline bool _INPLACE_OPERATION_SUB_INT_FLOAT(PyObject **operand1, PyObjec
2043
2043
 
2044
2044
  // Statically recognized that coercion is not possible with these types
2045
2045
 
2046
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'int' and 'float'");
2046
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'int' and 'float'");
2047
2047
  goto exit_inplace_exception;
2048
2048
  }
2049
2049
 
@@ -2109,7 +2109,7 @@ static inline bool _INPLACE_OPERATION_SUB_LONG_INT(PyObject **operand1, PyObject
2109
2109
 
2110
2110
  // Statically recognized that coercion is not possible with these types
2111
2111
 
2112
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'long' and 'int'");
2112
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'long' and 'int'");
2113
2113
  goto exit_inplace_exception;
2114
2114
  }
2115
2115
 
@@ -2181,7 +2181,7 @@ static inline bool _INPLACE_OPERATION_SUB_INT_LONG(PyObject **operand1, PyObject
2181
2181
 
2182
2182
  // Statically recognized that coercion is not possible with these types
2183
2183
 
2184
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: 'int' and 'long'");
2184
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: 'int' and 'long'");
2185
2185
  goto exit_inplace_exception;
2186
2186
  }
2187
2187
 
@@ -2698,7 +2698,7 @@ static inline bool _INPLACE_OPERATION_SUB_OBJECT_OBJECT(PyObject **operand1, PyO
2698
2698
  }
2699
2699
  #endif
2700
2700
 
2701
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -: '%s' and '%s'", type1->tp_name,
2701
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for -=: '%s' and '%s'", type1->tp_name,
2702
2702
  type2->tp_name);
2703
2703
  goto exit_inplace_exception;
2704
2704
  }
@@ -264,7 +264,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_TRUEDIV_OBJECT_INT(PyObject
264
264
  }
265
265
  #endif
266
266
 
267
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'int'", type1->tp_name);
267
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'int'", type1->tp_name);
268
268
  goto exit_inplace_exception;
269
269
  }
270
270
 
@@ -546,7 +546,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_TRUEDIV_INT_OBJECT(PyObject
546
546
  }
547
547
  #endif
548
548
 
549
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and '%s'", type2->tp_name);
549
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and '%s'", type2->tp_name);
550
550
  goto exit_inplace_exception;
551
551
  }
552
552
 
@@ -873,9 +873,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_TRUEDIV_OBJECT_LONG(PyObject
873
873
  #endif
874
874
 
875
875
  #if PYTHON_VERSION < 0x300
876
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'long'", type1->tp_name);
876
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'long'", type1->tp_name);
877
877
  #else
878
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'int'", type1->tp_name);
878
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'int'", type1->tp_name);
879
879
  #endif
880
880
  goto exit_inplace_exception;
881
881
  }
@@ -1091,9 +1091,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_TRUEDIV_LONG_OBJECT(PyObject
1091
1091
  #endif
1092
1092
 
1093
1093
  #if PYTHON_VERSION < 0x300
1094
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'long' and '%s'", type2->tp_name);
1094
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'long' and '%s'", type2->tp_name);
1095
1095
  #else
1096
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and '%s'", type2->tp_name);
1096
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and '%s'", type2->tp_name);
1097
1097
  #endif
1098
1098
  goto exit_inplace_exception;
1099
1099
  }
@@ -1372,7 +1372,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_TRUEDIV_OBJECT_FLOAT(PyObjec
1372
1372
  }
1373
1373
  #endif
1374
1374
 
1375
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and 'float'", type1->tp_name);
1375
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and 'float'", type1->tp_name);
1376
1376
  goto exit_inplace_exception;
1377
1377
  }
1378
1378
 
@@ -1605,7 +1605,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_TRUEDIV_FLOAT_OBJECT(PyObjec
1605
1605
  }
1606
1606
  #endif
1607
1607
 
1608
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and '%s'", type2->tp_name);
1608
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and '%s'", type2->tp_name);
1609
1609
  goto exit_inplace_exception;
1610
1610
  }
1611
1611
 
@@ -1736,9 +1736,9 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_FLOAT_LONG(PyObject **operand1, Py
1736
1736
  // Statically recognized that coercion is not possible with these types
1737
1737
 
1738
1738
  #if PYTHON_VERSION < 0x300
1739
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and 'long'");
1739
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and 'long'");
1740
1740
  #else
1741
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and 'int'");
1741
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and 'int'");
1742
1742
  #endif
1743
1743
  goto exit_inplace_exception;
1744
1744
  }
@@ -1810,9 +1810,9 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_LONG_FLOAT(PyObject **operand1, Py
1810
1810
  // Statically recognized that coercion is not possible with these types
1811
1811
 
1812
1812
  #if PYTHON_VERSION < 0x300
1813
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'long' and 'float'");
1813
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'long' and 'float'");
1814
1814
  #else
1815
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and 'float'");
1815
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and 'float'");
1816
1816
  #endif
1817
1817
  goto exit_inplace_exception;
1818
1818
  }
@@ -1878,7 +1878,7 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_FLOAT_INT(PyObject **operand1, PyO
1878
1878
 
1879
1879
  // Statically recognized that coercion is not possible with these types
1880
1880
 
1881
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'float' and 'int'");
1881
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'float' and 'int'");
1882
1882
  goto exit_inplace_exception;
1883
1883
  }
1884
1884
 
@@ -1950,7 +1950,7 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_INT_FLOAT(PyObject **operand1, PyO
1950
1950
 
1951
1951
  // Statically recognized that coercion is not possible with these types
1952
1952
 
1953
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and 'float'");
1953
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and 'float'");
1954
1954
  goto exit_inplace_exception;
1955
1955
  }
1956
1956
 
@@ -2016,7 +2016,7 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_LONG_INT(PyObject **operand1, PyOb
2016
2016
 
2017
2017
  // Statically recognized that coercion is not possible with these types
2018
2018
 
2019
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'long' and 'int'");
2019
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'long' and 'int'");
2020
2020
  goto exit_inplace_exception;
2021
2021
  }
2022
2022
 
@@ -2088,7 +2088,7 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_INT_LONG(PyObject **operand1, PyOb
2088
2088
 
2089
2089
  // Statically recognized that coercion is not possible with these types
2090
2090
 
2091
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: 'int' and 'long'");
2091
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: 'int' and 'long'");
2092
2092
  goto exit_inplace_exception;
2093
2093
  }
2094
2094
 
@@ -2564,7 +2564,7 @@ static inline bool _INPLACE_OPERATION_TRUEDIV_OBJECT_OBJECT(PyObject **operand1,
2564
2564
  }
2565
2565
  #endif
2566
2566
 
2567
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /: '%s' and '%s'", type1->tp_name,
2567
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for /=: '%s' and '%s'", type1->tp_name,
2568
2568
  type2->tp_name);
2569
2569
  goto exit_inplace_exception;
2570
2570
  }
@@ -51,7 +51,7 @@ Py_ssize_t Nuitka_PyObject_Size(PyObject *sequence) {
51
51
  return tp_as_sequence->sq_length(sequence);
52
52
  }
53
53
 
54
- return PyMapping_Size(sequence);
54
+ return Nuitka_PyMapping_Size(sequence);
55
55
  }
56
56
 
57
57
  PyObject *Nuitka_Number_Index(PyObject *item) {
@@ -128,9 +128,9 @@ getattrofunc PyObject_GenericGetAttr_resolved;
128
128
  setattrofunc PyObject_GenericSetAttr_resolved;
129
129
 
130
130
  // Our wrapper for "PyType_Ready" that takes care of trying to avoid DLL entry
131
- // points for generic attributes.
131
+ // points for generic attributes. spell-checker: ignore aiter
132
132
  void Nuitka_PyType_Ready(PyTypeObject *type, PyTypeObject *base, bool generic_get_attr, bool generic_set_attr,
133
- bool self_iter, bool await_self_iter, bool self_aiter) {
133
+ bool self_iter, bool await_self_iter, bool await_self_aiter) {
134
134
  assert(type->tp_base == NULL);
135
135
 
136
136
  PyObject_GenericGetAttr_resolved = PyBaseObject_Type.tp_getattro;
@@ -159,13 +159,17 @@ void Nuitka_PyType_Ready(PyTypeObject *type, PyTypeObject *base, bool generic_ge
159
159
  type->tp_as_async->am_await = PyObject_SelfIter;
160
160
  }
161
161
 
162
- if (self_aiter) {
162
+ if (await_self_aiter) {
163
163
  assert(type->tp_as_async->am_aiter == NULL);
164
164
  type->tp_as_async->am_aiter = PyObject_SelfIter;
165
165
  }
166
166
  #else
167
167
  assert(!await_self_iter);
168
- assert(!self_aiter);
168
+ assert(!await_self_aiter);
169
+ #endif
170
+
171
+ #if PYTHON_VERSION >= 0x3a0
172
+ type->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
169
173
  #endif
170
174
 
171
175
  NUITKA_MAY_BE_UNUSED int res = PyType_Ready(type);