This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients corona10, pablogsal, serhiy.storchaka, shihai1991, tim.peters, vstinner
Date 2020-04-07.18:03:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1586282638.67.0.297684829548.issue40217@roundup.psfhosted.org>
In-reply-to
Content
The problem is that we suddenly changed rules. It was not required that the object's type should be visited in tp_visit. It was incorrect to visit it, because object did not have strong reference to its type. User never created it, and it was not created implicitly.

Now we changed rules. A strong reference is created implicitly. Who is responsible to manage a strong reference? Whose who created it, ant it is the interpreter, not the user. User does not know anything about it. If we pass the responsibility for the strong reference to the type on the user, we makes all user code incorrect, and we add a burden of fixing it and maintaining compatibility with incompatible Python versions on the user. I think it is very bad.
History
Date User Action Args
2020-04-07 18:03:58serhiy.storchakasetrecipients: + serhiy.storchaka, tim.peters, vstinner, corona10, pablogsal, shihai1991
2020-04-07 18:03:58serhiy.storchakasetmessageid: <1586282638.67.0.297684829548.issue40217@roundup.psfhosted.org>
2020-04-07 18:03:58serhiy.storchakalinkissue40217 messages
2020-04-07 18:03:58serhiy.storchakacreate