Message280493
Guido, Yury, it looks like I solved the puzzle. All the remaining problems are because of forward references. In particular, _ForwardRef keeps a reference to the frame where it was defined:
typing_globals = globals()
frame = sys._getframe(1)
while frame is not None and frame.f_globals is typing_globals:
frame = frame.f_back
assert frame is not None
self.__forward_frame__ = frame
This is old code from 2015 introduced to support __isinstance__ for forward refs. The latter is no more supported anyway, so that I believe this code should be removed.
I will make a PR upstream soon. |
|
Date |
User |
Action |
Args |
2016-11-10 08:13:42 | levkivskyi | set | recipients:
+ levkivskyi, gvanrossum, ned.deily, python-dev, serhiy.storchaka, yselivanov, josh.r |
2016-11-10 08:13:42 | levkivskyi | set | messageid: <1478765622.83.0.737684232682.issue28649@psf.upfronthosting.co.za> |
2016-11-10 08:13:42 | levkivskyi | link | issue28649 messages |
2016-11-10 08:13:42 | levkivskyi | create | |
|