self.assertEqual(get_args(Callable), ())
self.assertEqual(get_args(list[int]), (int,))
self.assertEqual(get_args(list), ())
+ self.assertEqual(get_args(collections.abc.Callable[[int], str]), ([int], str))
+ self.assertEqual(get_args(collections.abc.Callable[..., str]), (..., str))
+ self.assertEqual(get_args(collections.abc.Callable[[], str]), ([], str))
+ self.assertEqual(get_args(collections.abc.Callable[[int], str]),
+ get_args(Callable[[int], str]))
class CollectionsAbcTests(BaseTestCase):
"""
if isinstance(tp, _AnnotatedAlias):
return (tp.__origin__,) + tp.__metadata__
- if isinstance(tp, _GenericAlias):
+ if isinstance(tp, (_GenericAlias, GenericAlias)):
res = tp.__args__
if tp.__origin__ is collections.abc.Callable and res[0] is not Ellipsis:
res = (list(res[:-1]), res[-1])
return res
- if isinstance(tp, GenericAlias):
- return tp.__args__
return ()