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
@@ -195,9 +195,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITAND_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
  }
@@ -412,9 +412,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITAND_LONG_OBJECT(PyObject
412
412
  #endif
413
413
 
414
414
  #if PYTHON_VERSION < 0x300
415
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: 'long' and '%s'", type2->tp_name);
415
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: 'long' and '%s'", type2->tp_name);
416
416
  #else
417
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: 'int' and '%s'", type2->tp_name);
417
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: 'int' and '%s'", type2->tp_name);
418
418
  #endif
419
419
  goto exit_inplace_exception;
420
420
  }
@@ -683,7 +683,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITAND_OBJECT_INT(PyObject *
683
683
  }
684
684
  #endif
685
685
 
686
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: '%s' and 'int'", type1->tp_name);
686
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: '%s' and 'int'", type1->tp_name);
687
687
  goto exit_inplace_exception;
688
688
  }
689
689
 
@@ -905,7 +905,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITAND_INT_OBJECT(PyObject *
905
905
  }
906
906
  #endif
907
907
 
908
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: 'int' and '%s'", type2->tp_name);
908
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: 'int' and '%s'", type2->tp_name);
909
909
  goto exit_inplace_exception;
910
910
  }
911
911
 
@@ -1076,7 +1076,7 @@ static inline bool _INPLACE_OPERATION_BITAND_LONG_INT(PyObject **operand1, PyObj
1076
1076
 
1077
1077
  // Statically recognized that coercion is not possible with these types
1078
1078
 
1079
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: 'long' and 'int'");
1079
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: 'long' and 'int'");
1080
1080
  goto exit_inplace_exception;
1081
1081
  }
1082
1082
 
@@ -1148,7 +1148,7 @@ static inline bool _INPLACE_OPERATION_BITAND_INT_LONG(PyObject **operand1, PyObj
1148
1148
 
1149
1149
  // Statically recognized that coercion is not possible with these types
1150
1150
 
1151
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: 'int' and 'long'");
1151
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: 'int' and 'long'");
1152
1152
  goto exit_inplace_exception;
1153
1153
  }
1154
1154
 
@@ -1320,7 +1320,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITAND_OBJECT_SET(PyObject *
1320
1320
  }
1321
1321
  #endif
1322
1322
 
1323
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: '%s' and 'set'", type1->tp_name);
1323
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: '%s' and 'set'", type1->tp_name);
1324
1324
  goto exit_inplace_exception;
1325
1325
  }
1326
1326
 
@@ -1504,7 +1504,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITAND_SET_OBJECT(PyObject *
1504
1504
  }
1505
1505
  #endif
1506
1506
 
1507
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: 'set' and '%s'", type2->tp_name);
1507
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: 'set' and '%s'", type2->tp_name);
1508
1508
  goto exit_inplace_exception;
1509
1509
  }
1510
1510
 
@@ -1783,7 +1783,7 @@ static inline bool _INPLACE_OPERATION_BITAND_OBJECT_OBJECT(PyObject **operand1,
1783
1783
  }
1784
1784
  #endif
1785
1785
 
1786
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &: '%s' and '%s'", type1->tp_name,
1786
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for &=: '%s' and '%s'", type1->tp_name,
1787
1787
  type2->tp_name);
1788
1788
  goto exit_inplace_exception;
1789
1789
  }
@@ -195,9 +195,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_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
  }
@@ -412,9 +412,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_LONG_OBJECT(PyObject *
412
412
  #endif
413
413
 
414
414
  #if PYTHON_VERSION < 0x300
415
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: 'long' and '%s'", type2->tp_name);
415
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: 'long' and '%s'", type2->tp_name);
416
416
  #else
417
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: 'int' and '%s'", type2->tp_name);
417
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: 'int' and '%s'", type2->tp_name);
418
418
  #endif
419
419
  goto exit_inplace_exception;
420
420
  }
@@ -683,7 +683,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_INT(PyObject **
683
683
  }
684
684
  #endif
685
685
 
686
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: '%s' and 'int'", type1->tp_name);
686
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: '%s' and 'int'", type1->tp_name);
687
687
  goto exit_inplace_exception;
688
688
  }
689
689
 
@@ -905,7 +905,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_INT_OBJECT(PyObject **
905
905
  }
906
906
  #endif
907
907
 
908
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: 'int' and '%s'", type2->tp_name);
908
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: 'int' and '%s'", type2->tp_name);
909
909
  goto exit_inplace_exception;
910
910
  }
911
911
 
@@ -1076,7 +1076,7 @@ static inline bool _INPLACE_OPERATION_BITOR_LONG_INT(PyObject **operand1, PyObje
1076
1076
 
1077
1077
  // Statically recognized that coercion is not possible with these types
1078
1078
 
1079
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: 'long' and 'int'");
1079
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: 'long' and 'int'");
1080
1080
  goto exit_inplace_exception;
1081
1081
  }
1082
1082
 
@@ -1148,7 +1148,7 @@ static inline bool _INPLACE_OPERATION_BITOR_INT_LONG(PyObject **operand1, PyObje
1148
1148
 
1149
1149
  // Statically recognized that coercion is not possible with these types
1150
1150
 
1151
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: 'int' and 'long'");
1151
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: 'int' and 'long'");
1152
1152
  goto exit_inplace_exception;
1153
1153
  }
1154
1154
 
@@ -1320,7 +1320,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_SET(PyObject **
1320
1320
  }
1321
1321
  #endif
1322
1322
 
1323
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: '%s' and 'set'", type1->tp_name);
1323
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: '%s' and 'set'", type1->tp_name);
1324
1324
  goto exit_inplace_exception;
1325
1325
  }
1326
1326
 
@@ -1504,7 +1504,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_SET_OBJECT(PyObject **
1504
1504
  }
1505
1505
  #endif
1506
1506
 
1507
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: 'set' and '%s'", type2->tp_name);
1507
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: 'set' and '%s'", type2->tp_name);
1508
1508
  goto exit_inplace_exception;
1509
1509
  }
1510
1510
 
@@ -1783,7 +1783,7 @@ static inline bool _INPLACE_OPERATION_BITOR_OBJECT_OBJECT(PyObject **operand1, P
1783
1783
  }
1784
1784
  #endif
1785
1785
 
1786
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |: '%s' and '%s'", type1->tp_name,
1786
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for |=: '%s' and '%s'", type1->tp_name,
1787
1787
  type2->tp_name);
1788
1788
  goto exit_inplace_exception;
1789
1789
  }
@@ -195,9 +195,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_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
  }
@@ -412,9 +412,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_LONG_OBJECT(PyObject
412
412
  #endif
413
413
 
414
414
  #if PYTHON_VERSION < 0x300
415
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: 'long' and '%s'", type2->tp_name);
415
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: 'long' and '%s'", type2->tp_name);
416
416
  #else
417
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: 'int' and '%s'", type2->tp_name);
417
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: 'int' and '%s'", type2->tp_name);
418
418
  #endif
419
419
  goto exit_inplace_exception;
420
420
  }
@@ -683,7 +683,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_INT(PyObject *
683
683
  }
684
684
  #endif
685
685
 
686
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: '%s' and 'int'", type1->tp_name);
686
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: '%s' and 'int'", type1->tp_name);
687
687
  goto exit_inplace_exception;
688
688
  }
689
689
 
@@ -905,7 +905,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_INT_OBJECT(PyObject *
905
905
  }
906
906
  #endif
907
907
 
908
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: 'int' and '%s'", type2->tp_name);
908
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: 'int' and '%s'", type2->tp_name);
909
909
  goto exit_inplace_exception;
910
910
  }
911
911
 
@@ -1076,7 +1076,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_LONG_INT(PyObject **operand1, PyObj
1076
1076
 
1077
1077
  // Statically recognized that coercion is not possible with these types
1078
1078
 
1079
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: 'long' and 'int'");
1079
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: 'long' and 'int'");
1080
1080
  goto exit_inplace_exception;
1081
1081
  }
1082
1082
 
@@ -1148,7 +1148,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_INT_LONG(PyObject **operand1, PyObj
1148
1148
 
1149
1149
  // Statically recognized that coercion is not possible with these types
1150
1150
 
1151
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: 'int' and 'long'");
1151
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: 'int' and 'long'");
1152
1152
  goto exit_inplace_exception;
1153
1153
  }
1154
1154
 
@@ -1320,7 +1320,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_SET(PyObject *
1320
1320
  }
1321
1321
  #endif
1322
1322
 
1323
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: '%s' and 'set'", type1->tp_name);
1323
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: '%s' and 'set'", type1->tp_name);
1324
1324
  goto exit_inplace_exception;
1325
1325
  }
1326
1326
 
@@ -1504,7 +1504,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_SET_OBJECT(PyObject *
1504
1504
  }
1505
1505
  #endif
1506
1506
 
1507
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: 'set' and '%s'", type2->tp_name);
1507
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: 'set' and '%s'", type2->tp_name);
1508
1508
  goto exit_inplace_exception;
1509
1509
  }
1510
1510
 
@@ -1783,7 +1783,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_OBJECT_OBJECT(PyObject **operand1,
1783
1783
  }
1784
1784
  #endif
1785
1785
 
1786
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^: '%s' and '%s'", type1->tp_name,
1786
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for ^=: '%s' and '%s'", type1->tp_name,
1787
1787
  type2->tp_name);
1788
1788
  goto exit_inplace_exception;
1789
1789
  }
@@ -249,7 +249,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_INT(PyObject
249
249
  }
250
250
  #endif
251
251
 
252
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: '%s' and 'int'", type1->tp_name);
252
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: '%s' and 'int'", type1->tp_name);
253
253
  goto exit_inplace_exception;
254
254
  }
255
255
 
@@ -516,7 +516,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_INT_OBJECT(PyObject
516
516
  }
517
517
  #endif
518
518
 
519
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'int' and '%s'", type2->tp_name);
519
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'int' and '%s'", type2->tp_name);
520
520
  goto exit_inplace_exception;
521
521
  }
522
522
 
@@ -828,9 +828,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_LONG(PyObjec
828
828
  #endif
829
829
 
830
830
  #if PYTHON_VERSION < 0x300
831
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: '%s' and 'long'", type1->tp_name);
831
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: '%s' and 'long'", type1->tp_name);
832
832
  #else
833
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: '%s' and 'int'", type1->tp_name);
833
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: '%s' and 'int'", type1->tp_name);
834
834
  #endif
835
835
  goto exit_inplace_exception;
836
836
  }
@@ -1046,9 +1046,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_LONG_OBJECT(PyObjec
1046
1046
  #endif
1047
1047
 
1048
1048
  #if PYTHON_VERSION < 0x300
1049
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'long' and '%s'", type2->tp_name);
1049
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'long' and '%s'", type2->tp_name);
1050
1050
  #else
1051
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'int' and '%s'", type2->tp_name);
1051
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'int' and '%s'", type2->tp_name);
1052
1052
  #endif
1053
1053
  goto exit_inplace_exception;
1054
1054
  }
@@ -1344,7 +1344,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_FLOAT(PyObje
1344
1344
  }
1345
1345
  #endif
1346
1346
 
1347
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: '%s' and 'float'", type1->tp_name);
1347
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: '%s' and 'float'", type1->tp_name);
1348
1348
  goto exit_inplace_exception;
1349
1349
  }
1350
1350
 
@@ -1594,7 +1594,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_FLOAT_OBJECT(PyObje
1594
1594
  }
1595
1595
  #endif
1596
1596
 
1597
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'float' and '%s'", type2->tp_name);
1597
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'float' and '%s'", type2->tp_name);
1598
1598
  goto exit_inplace_exception;
1599
1599
  }
1600
1600
 
@@ -1742,9 +1742,9 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_FLOAT_LONG(PyObject **operand1, P
1742
1742
  // Statically recognized that coercion is not possible with these types
1743
1743
 
1744
1744
  #if PYTHON_VERSION < 0x300
1745
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'float' and 'long'");
1745
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'float' and 'long'");
1746
1746
  #else
1747
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'float' and 'int'");
1747
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'float' and 'int'");
1748
1748
  #endif
1749
1749
  goto exit_inplace_exception;
1750
1750
  }
@@ -1816,9 +1816,9 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_LONG_FLOAT(PyObject **operand1, P
1816
1816
  // Statically recognized that coercion is not possible with these types
1817
1817
 
1818
1818
  #if PYTHON_VERSION < 0x300
1819
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'long' and 'float'");
1819
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'long' and 'float'");
1820
1820
  #else
1821
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'int' and 'float'");
1821
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'int' and 'float'");
1822
1822
  #endif
1823
1823
  goto exit_inplace_exception;
1824
1824
  }
@@ -1884,7 +1884,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_FLOAT_INT(PyObject **operand1, Py
1884
1884
 
1885
1885
  // Statically recognized that coercion is not possible with these types
1886
1886
 
1887
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'float' and 'int'");
1887
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'float' and 'int'");
1888
1888
  goto exit_inplace_exception;
1889
1889
  }
1890
1890
 
@@ -1956,7 +1956,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_INT_FLOAT(PyObject **operand1, Py
1956
1956
 
1957
1957
  // Statically recognized that coercion is not possible with these types
1958
1958
 
1959
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'int' and 'float'");
1959
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'int' and 'float'");
1960
1960
  goto exit_inplace_exception;
1961
1961
  }
1962
1962
 
@@ -2022,7 +2022,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_LONG_INT(PyObject **operand1, PyO
2022
2022
 
2023
2023
  // Statically recognized that coercion is not possible with these types
2024
2024
 
2025
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'long' and 'int'");
2025
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'long' and 'int'");
2026
2026
  goto exit_inplace_exception;
2027
2027
  }
2028
2028
 
@@ -2094,7 +2094,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_INT_LONG(PyObject **operand1, PyO
2094
2094
 
2095
2095
  // Statically recognized that coercion is not possible with these types
2096
2096
 
2097
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: 'int' and 'long'");
2097
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: 'int' and 'long'");
2098
2098
  goto exit_inplace_exception;
2099
2099
  }
2100
2100
 
@@ -2557,7 +2557,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_OBJECT_OBJECT(PyObject **operand1
2557
2557
  }
2558
2558
  #endif
2559
2559
 
2560
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //: '%s' and '%s'", type1->tp_name,
2560
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for //=: '%s' and '%s'", type1->tp_name,
2561
2561
  type2->tp_name);
2562
2562
  goto exit_inplace_exception;
2563
2563
  }
@@ -195,9 +195,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_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_LSHIFT_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
  }
@@ -737,7 +737,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject *
737
737
  }
738
738
  #endif
739
739
 
740
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<: '%s' and 'int'", type1->tp_name);
740
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: '%s' and 'int'", type1->tp_name);
741
741
  goto exit_inplace_exception;
742
742
  }
743
743
 
@@ -1013,7 +1013,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject *
1013
1013
  }
1014
1014
  #endif
1015
1015
 
1016
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<: 'int' and '%s'", type2->tp_name);
1016
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'int' and '%s'", type2->tp_name);
1017
1017
  goto exit_inplace_exception;
1018
1018
  }
1019
1019
 
@@ -1186,7 +1186,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_LONG_INT(PyObject **operand1, PyObj
1186
1186
 
1187
1187
  // Statically recognized that coercion is not possible with these types
1188
1188
 
1189
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<: 'long' and 'int'");
1189
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'long' and 'int'");
1190
1190
  goto exit_inplace_exception;
1191
1191
  }
1192
1192
 
@@ -1258,7 +1258,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_LONG(PyObject **operand1, PyObj
1258
1258
 
1259
1259
  // Statically recognized that coercion is not possible with these types
1260
1260
 
1261
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<: 'int' and 'long'");
1261
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'int' and 'long'");
1262
1262
  goto exit_inplace_exception;
1263
1263
  }
1264
1264
 
@@ -1551,7 +1551,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
1551
1551
  }
1552
1552
  #endif
1553
1553
 
1554
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<: '%s' and '%s'", type1->tp_name,
1554
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: '%s' and '%s'", type1->tp_name,
1555
1555
  type2->tp_name);
1556
1556
  goto exit_inplace_exception;
1557
1557
  }
@@ -36,9 +36,9 @@ static inline bool _INPLACE_OPERATION_MATMULT_LONG_LONG(PyObject **operand1, PyO
36
36
  // Statically recognized that coercion is not possible with Python3 only operator '@'
37
37
 
38
38
  #if PYTHON_VERSION < 0x300
39
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: 'long' and 'long'");
39
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'long' and 'long'");
40
40
  #else
41
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: 'int' and 'int'");
41
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'int' and 'int'");
42
42
  #endif
43
43
  goto exit_inplace_exception;
44
44
  }
@@ -107,9 +107,9 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_LONG(PyObject **operand1, P
107
107
  // Statically recognized that coercion is not possible with Python3 only operator '@'
108
108
 
109
109
  #if PYTHON_VERSION < 0x300
110
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: '%s' and 'long'", type1->tp_name);
110
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and 'long'", type1->tp_name);
111
111
  #else
112
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: '%s' and 'int'", type1->tp_name);
112
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and 'int'", type1->tp_name);
113
113
  #endif
114
114
  goto exit_inplace_exception;
115
115
  }
@@ -185,9 +185,9 @@ static inline bool _INPLACE_OPERATION_MATMULT_LONG_OBJECT(PyObject **operand1, P
185
185
  // Statically recognized that coercion is not possible with Python3 only operator '@'
186
186
 
187
187
  #if PYTHON_VERSION < 0x300
188
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: 'long' and '%s'", type2->tp_name);
188
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'long' and '%s'", type2->tp_name);
189
189
  #else
190
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: 'int' and '%s'", type2->tp_name);
190
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'int' and '%s'", type2->tp_name);
191
191
  #endif
192
192
  goto exit_inplace_exception;
193
193
  }
@@ -241,7 +241,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_FLOAT_FLOAT(PyObject **operand1, P
241
241
 
242
242
  // Statically recognized that coercion is not possible with Python3 only operator '@'
243
243
 
244
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: 'float' and 'float'");
244
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'float' and 'float'");
245
245
  goto exit_inplace_exception;
246
246
  }
247
247
 
@@ -308,7 +308,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_FLOAT(PyObject **operand1,
308
308
 
309
309
  // Statically recognized that coercion is not possible with Python3 only operator '@'
310
310
 
311
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: '%s' and 'float'", type1->tp_name);
311
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and 'float'", type1->tp_name);
312
312
  goto exit_inplace_exception;
313
313
  }
314
314
 
@@ -382,7 +382,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_FLOAT_OBJECT(PyObject **operand1,
382
382
 
383
383
  // Statically recognized that coercion is not possible with Python3 only operator '@'
384
384
 
385
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: 'float' and '%s'", type2->tp_name);
385
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'float' and '%s'", type2->tp_name);
386
386
  goto exit_inplace_exception;
387
387
  }
388
388
 
@@ -558,7 +558,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1,
558
558
 
559
559
  // Statically recognized that coercion is not possible with Python3 only operator '@'
560
560
 
561
- PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @: '%s' and '%s'", type1->tp_name,
561
+ PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and '%s'", type1->tp_name,
562
562
  type2->tp_name);
563
563
  goto exit_inplace_exception;
564
564
  }