diff options
Diffstat (limited to 'Objects/typevarobject.c')
-rw-r--r-- | Objects/typevarobject.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Objects/typevarobject.c b/Objects/typevarobject.c index 3ab8cb1..ace079d 100644 --- a/Objects/typevarobject.c +++ b/Objects/typevarobject.c @@ -2,8 +2,8 @@ #include "Python.h" #include "pycore_object.h" // _PyObject_GC_TRACK/UNTRACK, PyAnnotateFormat #include "pycore_typevarobject.h" -#include "pycore_unionobject.h" // _Py_union_type_or - +#include "pycore_unionobject.h" // _Py_union_type_or, _Py_union_from_tuple +#include "structmember.h" /*[clinic input] class typevar "typevarobject *" "&_PyTypeVar_Type" @@ -370,9 +370,13 @@ type_check(PyObject *arg, const char *msg) static PyObject * make_union(PyObject *self, PyObject *other) { - PyObject *args[2] = {self, other}; - PyObject *result = call_typing_func_object("_make_union", args, 2); - return result; + PyObject *args = PyTuple_Pack(2, self, other); + if (args == NULL) { + return NULL; + } + PyObject *u = _Py_union_from_tuple(args); + Py_DECREF(args); + return u; } static PyObject * |