Nathaniel Smith added the comment:

Since I know there's a lot of text here for people to process, here's an 
attempted TL;DR (with inspiration from Serhiy's msg249495):

There were three parts to the original change:
1) Bug fixes for typeobject.c
2) Enabling __class__ assignment for module objects
3) Enabling __class__ assignment for other objects, in particular all non-heap 
types, including 'int', 'str', etc.

Everyone agrees we want to revert (3), which is the bit that has caused all the 
problems. And I don't think anyone has argued for reverting (1) after learning 
that it is separable from the rest. So the main question still under discussion 
is whether we want to revert (2)+(3), or just revert (3) alone.

(Either of these is easy to do; the attached "v2" patch implements the revert 
(3) alone option.)

My position:

When making changes for rc3 (!), we should definitely revert any functionality 
that is breaking things, and should definitely not revert any functionality 
that isn't.

The (3) change obviously meets this bar, so we'll revert it. But when it comes 
to module objects specifically -- the (2) change -- then (AFAICT) no-one has 
identified any problem with the functionality itself, even though it's been 
specifically discussed and reviewed multiple times over the last year, and been 
enabled all the way through the pre-release with explicit tests provided, etc. 
The only argument I see raised against it here is that there might be some 
more-or-less-equivalent but maybe-more-aesthetic way of accomplishing the same 
thing, so maybe we should revert it now so we can get in another round of 
bikeshedding. And if this had been raised a few months ago I'd have been 
sympathetic... but IMO the rc3 release is too late to be churning functionality 
based purely on aesthetics, so I think we should revert (3) alone, while 
leaving (1)+(2) in place.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24912>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to