[Python-Dev] New poll about a macro for safe reference replacing
Ryan Gonzalez
rymg19 at gmail.com
Wed Dec 16 10:44:15 EST 2015
On December 16, 2015 8:12:47 AM CST, Serhiy Storchaka <storchaka at gmail.com> wrote:
>I'm bringing this up again, since the results of the previous poll did
>not give an unambiguous result. Related links: [1], [2], [3], [4].
>
>Let me remind you that we are talking about adding the following macro.
>
>It is needed for safe replacement links. For now there is at least one
>open crash report that can be solved with this macro [5] (I think there
>
>is yet one, but can't find it just now). And 50 potential bugs for
>which
>we just still do not have a reproducer.
>
>#define Py_XXX(ptr, value) \
> { \
> PyObject *__tmp__ = ptr; \
> ptr = new_value; \
> Py_DECREF(__tmp__); \
> }
>
>The problem is only in the macro name. There are objections against any
>
>proposed name, and no one name gained convincing majority.
>
>Here are names gained the largest numbers of votes plus names proposed
>during polling.
>
>1. Py_SETREF
>2. Py_DECREF_REPLACE
>3. Py_REPLACE
>4. Py_SET_POINTER
>5. Py_SET_ATTR
>6. Py_REPLACE_REF
>
5 kinda sucks, since this has virtually nothing to do with attributes. 3 sounds like it does an operation on the object itself. 4 sounds stupid.
So:
1. +0
2. +0.5
3. -1
4. -1
5. -1
6. +1
>Please put your vote (a floating number from -1 to 1 including) for
>every of proposed name. You also can propose new name.
>
Py_RESET? Like C++'s shared_ptr::reset: http://en.cppreference.com/w/cpp/memory/shared_ptr/reset.
>
>[1] https://mail.python.org/pipermail/python-dev/2008-May/079862.html
>[2] http://comments.gmane.org/gmane.comp.python.devel/145346
>[3] http://comments.gmane.org/gmane.comp.python.devel/145974
>[4] http://bugs.python.org/issue20440
>[5] http://bugs.python.org/issue24103
>
>_______________________________________________
>Python-Dev mailing list
>Python-Dev at python.org
>https://mail.python.org/mailman/listinfo/python-dev
>Unsubscribe:
>https://mail.python.org/mailman/options/python-dev/rymg19%40gmail.com
--
Sent from my Nexus 5 with K-9 Mail. Please excuse my brevity.
More information about the Python-Dev
mailing list