From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 8 Jan 2025 12:25:59 +0000 (+0100) Subject: [3.12] gh-128615: Cover pickling of `ParamSpecArgs` and `ParamSpecKwargs` (GH-128616... X-Git-Tag: v3.12.9~92 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4c130c9238d0bd8d2641f1d2ec667641d8de2abd;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-128615: Cover pickling of `ParamSpecArgs` and `ParamSpecKwargs` (GH-128616) (#128626) Co-authored-by: sobolevn --- diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index c1057dc38873..c5f4d775f22f 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -4838,6 +4838,18 @@ class GenericTests(BaseTestCase): x = pickle.loads(z) self.assertEqual(s, x) + # Test ParamSpec args and kwargs + global PP + PP = ParamSpec('PP') + for thing in [PP.args, PP.kwargs]: + for proto in range(pickle.HIGHEST_PROTOCOL + 1): + with self.subTest(thing=thing, proto=proto): + self.assertEqual( + pickle.loads(pickle.dumps(thing, proto)), + thing, + ) + del PP + def test_copy_and_deepcopy(self): T = TypeVar('T') class Node(Generic[T]): ...