with self.assertRaises(ZeroDivisionError):
list[int] | list[bt]
+ union_ga = (int | list[str], int | collections.abc.Callable[..., str],
+ int | d)
+ # Raise error when isinstance(type, type | genericalias)
+ for type_ in union_ga:
+ with self.subTest(f"check isinstance/issubclass is invalid for {type_}"):
+ with self.assertRaises(TypeError):
+ isinstance(list, type_)
+ with self.assertRaises(TypeError):
+ issubclass(list, type_)
+
def test_ellipsis_type(self):
self.assertIsInstance(Ellipsis, types.EllipsisType)
Py_ssize_t nargs = PyTuple_GET_SIZE(args);
for (Py_ssize_t iarg = 0; iarg < nargs; iarg++) {
PyObject *arg = PyTuple_GET_ITEM(args, iarg);
- if (Py_TYPE(arg) == &Py_GenericAliasType) {
+ if (PyObject_TypeCheck(arg, &Py_GenericAliasType)) {
return 0;
}
}