[Python-checkins] bpo-36347: stop using RESTRICTED constants (GH-12684)

Jeroen Demeyer webhook-mailer at python.org
Tue Feb 18 08:14:51 EST 2020


https://github.com/python/cpython/commit/24bba8cf5b8db25c19bcd1d94e8e356874d1c723
commit: 24bba8cf5b8db25c19bcd1d94e8e356874d1c723
branch: master
author: Jeroen Demeyer <jeroen.k.demeyer at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-02-18T05:14:46-08:00
summary:

bpo-36347: stop using RESTRICTED constants (GH-12684)



The constants `RESTRICTED` and `PY_WRITE_RESTRICTED` no longer have a meaning in Python 3. Therefore, CPython should not use them.

CC @matrixise 


https://bugs.python.org/issue36347

files:
M Objects/classobject.c
M Objects/funcobject.c
M Objects/methodobject.c

diff --git a/Objects/classobject.c b/Objects/classobject.c
index 97f50fa1a1edc..999b91c0a2dc8 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -145,9 +145,9 @@ static PyMethodDef method_methods[] = {
 #define MO_OFF(x) offsetof(PyMethodObject, x)
 
 static PyMemberDef method_memberlist[] = {
-    {"__func__", T_OBJECT, MO_OFF(im_func), READONLY|RESTRICTED,
+    {"__func__", T_OBJECT, MO_OFF(im_func), READONLY,
      "the function (or other callable) implementing a method"},
-    {"__self__", T_OBJECT, MO_OFF(im_self), READONLY|RESTRICTED,
+    {"__self__", T_OBJECT, MO_OFF(im_self), READONLY,
      "the instance to which a method is bound"},
     {NULL}      /* Sentinel */
 };
@@ -400,7 +400,7 @@ PyInstanceMethod_Function(PyObject *im)
 #define IMO_OFF(x) offsetof(PyInstanceMethodObject, x)
 
 static PyMemberDef instancemethod_memberlist[] = {
-    {"__func__", T_OBJECT, IMO_OFF(func), READONLY|RESTRICTED,
+    {"__func__", T_OBJECT, IMO_OFF(func), READONLY,
      "the function (or other callable) implementing a method"},
     {NULL}      /* Sentinel */
 };
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index 419db33602a36..3ec949d573bf5 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -239,12 +239,10 @@ PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)
 #define OFF(x) offsetof(PyFunctionObject, x)
 
 static PyMemberDef func_memberlist[] = {
-    {"__closure__",   T_OBJECT,     OFF(func_closure),
-     RESTRICTED|READONLY},
-    {"__doc__",       T_OBJECT,     OFF(func_doc), PY_WRITE_RESTRICTED},
-    {"__globals__",   T_OBJECT,     OFF(func_globals),
-     RESTRICTED|READONLY},
-    {"__module__",    T_OBJECT,     OFF(func_module), PY_WRITE_RESTRICTED},
+    {"__closure__",   T_OBJECT,     OFF(func_closure), READONLY},
+    {"__doc__",       T_OBJECT,     OFF(func_doc), 0},
+    {"__globals__",   T_OBJECT,     OFF(func_globals), READONLY},
+    {"__module__",    T_OBJECT,     OFF(func_module), 0},
     {NULL}  /* Sentinel */
 };
 
diff --git a/Objects/methodobject.c b/Objects/methodobject.c
index 1d54c4cea6900..0d4570534b1ae 100644
--- a/Objects/methodobject.c
+++ b/Objects/methodobject.c
@@ -222,7 +222,7 @@ static PyGetSetDef meth_getsets [] = {
 #define OFF(x) offsetof(PyCFunctionObject, x)
 
 static PyMemberDef meth_members[] = {
-    {"__module__",    T_OBJECT,     OFF(m_module), PY_WRITE_RESTRICTED},
+    {"__module__",    T_OBJECT,     OFF(m_module), 0},
     {NULL}
 };
 



More information about the Python-checkins mailing list