Make it a constant and referring to a constant string.
+-----------+------------------+-----------------------------------------+
-.. c:var:: char* PyStructSequence_UnnamedField
+.. c:var:: const char * const PyStructSequence_UnnamedField
Special value for a field name to leave it unnamed.
+ .. versionchanged:: 3.9
+ The type was changed from ``char *``.
+
.. c:function:: PyObject* PyStructSequence_New(PyTypeObject *type)
way to call a callable Python object without any argument.
(Contributed by Victor Stinner in :issue:`37194`.)
+* The global variable :c:data:`PyStructSequence_UnnamedField` is now a constant
+ and refers to a constant string.
+ (Contributed by Serhiy Storchaka in :issue:`38650`.)
Deprecated
int n_in_sequence;
} PyStructSequence_Desc;
-extern char* PyStructSequence_UnnamedField;
+extern const char * const PyStructSequence_UnnamedField;
#ifndef Py_LIMITED_API
PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
--- /dev/null
+The global variable :c:data:`PyStructSequence_UnnamedField` is now a
+constant and refers to a constant string.
/* Fields with this name have only a field index, not a field name.
They are only allowed for indices < n_visible_fields. */
-char *PyStructSequence_UnnamedField = "unnamed field";
+const char * const PyStructSequence_UnnamedField = "unnamed field";
_Py_IDENTIFIER(n_sequence_fields);
_Py_IDENTIFIER(n_fields);
_Py_IDENTIFIER(n_unnamed_fields);