]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-96478: Test `@overload` on C functions (#96479)
authorNikita Sobolev <mail@sobolevn.me>
Mon, 5 Sep 2022 21:35:05 +0000 (00:35 +0300)
committerGitHub <noreply@github.com>
Mon, 5 Sep 2022 21:35:05 +0000 (14:35 -0700)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Lib/test/test_typing.py

index 015fa80942a2900c577296ff0bff2262c17f2e0f..a3a6b4e2274aa36c2b6070ea670e7309083b2a80 100644 (file)
@@ -4391,6 +4391,20 @@ class OverloadTests(BaseTestCase):
 
         blah()
 
+    @patch("typing._overload_registry",
+        defaultdict(lambda: defaultdict(dict)))
+    def test_overload_on_compiled_functions(self):
+        # The registry starts out empty:
+        self.assertEqual(typing._overload_registry, {})
+
+        # This should just not fail:
+        overload(sum)
+        overload(print)
+
+        # No overloads are recorded (but, it still has a side-effect):
+        self.assertEqual(typing.get_overloads(sum), [])
+        self.assertEqual(typing.get_overloads(print), [])
+
     def set_up_overloads(self):
         def blah():
             pass