]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
AC: Update unsupported_special_methods (GH-24956)
authorDong-hee Na <donghee.na@python.org>
Thu, 25 Mar 2021 00:19:23 +0000 (09:19 +0900)
committerGitHub <noreply@github.com>
Thu, 25 Mar 2021 00:19:23 +0000 (09:19 +0900)
Tools/clinic/clinic.py

index d4d779524685474874b165a8cef2a5fb06b485a0..959742677d2f6794eeb02df3f14877bf3e41aacf 100755 (executable)
@@ -2159,7 +2159,6 @@ __matmul__
 __mod__
 __mul__
 __neg__
-__new__
 __next__
 __or__
 __pos__
@@ -4227,6 +4226,9 @@ class DSLParser:
         module, cls = self.clinic._module_and_class(fields)
 
         fields = full_name.split('.')
+        if fields[-1] in unsupported_special_methods:
+            fail(f"{fields[-1]} is a special method and cannot be converted to Argument Clinic!  (Yet.)")
+
         if fields[-1] == '__new__':
             if (self.kind != CLASS_METHOD) or (not cls):
                 fail("__new__ must be a class method!")
@@ -4237,8 +4239,6 @@ class DSLParser:
             self.kind = METHOD_INIT
             if not return_converter:
                 return_converter = init_return_converter()
-        elif fields[-1] in unsupported_special_methods:
-            fail(fields[-1] + " is a special method and cannot be converted to Argument Clinic!  (Yet.)")
 
         if not return_converter:
             return_converter = CReturnConverter()