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 thautwarm
Recipients arigo, eric.smith, nascheme, serhiy.storchaka, steven.daprano, thautwarm, vtheno athena
Date 2018-10-09.16:57:07
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1539104227.99.0.545547206417.issue34880@psf.upfronthosting.co.za>
In-reply-to
Content
Hi, Serhiy, there could be an another way to fix all this sort of problems IMO.

We can figure out all the cases that implicitly require shadow builtins, and then change symtable visitor to add corresponding free variables with name mangling, for instance:

1. implicitly add free variable ".AssertionError"

```
def f():
   assert 1
```

where ".AssertionError" is a name-mangled free variable and is assigned once the module is executed.

The same to `StopAsyncIteration`, `TypeError`,  `__build_class__` and so on.
History
Date User Action Args
2018-10-09 16:57:08thautwarmsetrecipients: + thautwarm, arigo, nascheme, eric.smith, steven.daprano, serhiy.storchaka, vtheno athena
2018-10-09 16:57:07thautwarmsetmessageid: <1539104227.99.0.545547206417.issue34880@psf.upfronthosting.co.za>
2018-10-09 16:57:07thautwarmlinkissue34880 messages
2018-10-09 16:57:07thautwarmcreate