Guido van Rossum added the comment: I think turning the __mro__ tuple into a getter is fine. As long as this works I'm okay:
class C: ... mro = C.__mro__ del C assert mro[0].__name__ == 'C' (The last assert stands in for asserting that the class object must stay alive as long as the tuple returned by __mro__ is alive.) I think it's also fine if the descriptors contain weak references. Its hard to get a "raw" descriptor anyways -- you can't say C.desc, you'd have to say C.__dict__['desc']. ---------- nosy: +gvanrossum _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17950> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com