aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_typing.py
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2022-09-06 00:35:05 +0300
committerGitHub <noreply@github.com>2022-09-05 14:35:05 -0700
commitf177f6f29b069f522a0b3ba44eaae19852b6d2b0 (patch)
treee64cbd98c1ebe5b531fac642206a847d426aaf6f /Lib/test/test_typing.py
parent30878a7735f7d5cf2023f5b2758feee850b60700 (diff)
downloadcpython-f177f6f29b069f522a0b3ba44eaae19852b6d2b0.tar.gz
cpython-f177f6f29b069f522a0b3ba44eaae19852b6d2b0.zip
gh-96478: Test `@overload` on C functions (#96479)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Diffstat (limited to 'Lib/test/test_typing.py')
-rw-r--r--Lib/test/test_typing.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 015fa80942a..a3a6b4e2274 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -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