eval() should add '__builtins__` to globals
the following code
d = {}
eval('print(42)', d)
print(d.keys())
outputs
42
dict_keys(['__builtins__'])
on CPython3 but
42
dict_keys([])
on PyPy3.7 and PyPy3.8
This is checked in pybind11: https://github.com/pybind/pybind11/issues/3408 and https://github.com/pybind/pybind11/pull/2616