From f177f6f29b069f522a0b3ba44eaae19852b6d2b0 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Tue, 6 Sep 2022 00:35:05 +0300 Subject: [PATCH] gh-96478: Test `@overload` on C functions (#96479) Co-authored-by: Alex Waygood --- Lib/test/test_typing.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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