> On Sep 22, 2018, at 1:38 PM, Yury Selivanov <yselivanov...@gmail.com> wrote:
>
> On Sat, Sep 22, 2018 at 3:11 PM Guido van Rossum <gu...@python.org> wrote:
> [..]
>> Still, I wonder if there's a tweak possible of the globals and locals used
>> when exec()'ing the function definitions in dataclasses.py, so that
>> get_type_hints() gets the right globals for this use case.
>>
>> It's really tough to be at the intersection of three PEPs...
>
> If it's possible to fix exec() to accept any Mapping (not just dicts),
> then we can create a proxy mapping for "Dataclass.__init__.__module__"
> module and everything would work as expected
FWIW, the locals() dict for exec() already accepts any mapping (not just dicts):
>>> class M:
def __getitem__(self, key):
return key.upper()
def __setitem__(self, key, value):
print(f'{key!r}: {value!r}')
>>> exec('a=b', globals(), M())
'a': 'B'
Raymond
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com