gh-124498: Fix TypeAliasType not to be generic, when type_params=() (#124499)

This commit is contained in:
sobolevn 2024-09-26 17:15:38 +03:00 committed by GitHub
parent cf2418076d
commit abe5f799e6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 25 additions and 1 deletions

View file

@ -1915,7 +1915,16 @@ typealias_alloc(PyObject *name, PyObject *type_params, PyObject *compute_value,
return NULL;
}
ta->name = Py_NewRef(name);
ta->type_params = Py_IsNone(type_params) ? NULL : Py_XNewRef(type_params);
if (
type_params == NULL
|| Py_IsNone(type_params)
|| (PyTuple_Check(type_params) && PyTuple_GET_SIZE(type_params) == 0)
) {
ta->type_params = NULL;
}
else {
ta->type_params = Py_NewRef(type_params);
}
ta->compute_value = Py_XNewRef(compute_value);
ta->value = Py_XNewRef(value);
ta->module = Py_XNewRef(module);