Message258357
My concern is more about backwards compatibility - at the moment, you can alter the behaviour of import, pickle, and other subsystems by modifying the module level attributes, and if we switch to preferring the __spec__ attributes, then that kind of code will break (I added an import specific example related to __main__ module relative imports to the linked issue).
That's not to say it shouldn't be done - as you say, it would be nice to eventually get to a point where the import system only needs access to the module spec and not to the runtime state, and there are also cases where the __spec__ information will be more correct (e.g. pickling objects in __main__).
However, it needs to be in such a way that there are appropriate porting notes that explain to people why their state mutations stopped having the desired effect, and what (if anything) they can do instead. |
|
Date |
User |
Action |
Args |
2016-01-16 04:52:12 | ncoghlan | set | recipients:
+ ncoghlan, brett.cannon, eric.snow |
2016-01-16 04:52:12 | ncoghlan | set | messageid: <1452919932.74.0.634140737566.issue21762@psf.upfronthosting.co.za> |
2016-01-16 04:52:12 | ncoghlan | link | issue21762 messages |
2016-01-16 04:52:12 | ncoghlan | create | |
|