Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Remove Python 3.11/PyPy dispatch workaround #3530

Closed
3 tasks done
Skylion007 opened this issue Dec 6, 2021 · 0 comments · Fixed by #3694
Closed
3 tasks done

[BUG]: Remove Python 3.11/PyPy dispatch workaround #3530

Skylion007 opened this issue Dec 6, 2021 · 0 comments · Fixed by #3694
Milestone

Comments

@Skylion007
Copy link
Collaborator

Required prerequisites

Problem description

When implementing Python 3.11 support, due to API changes on the frame object we added a hack to get it temporarily working by falling back on an on old PyPy API to prevent the infinite recursion dispatch hack workaround as seen in #3419. As of now, a python code snippit has to be interpreted and evaluated for each dispatch which is far from ideal. Another solution was brought up in #2549, but that would require an API change.

Either we need to find a way to workaround this once the 3.11 private APIs stabilize or to find a better workaround to prevent this recursion issue. I would like to point out that this is the cause of numerous other weird edge cases in function dispatch so cleaning it up would be preferred.

The workaround can be found here:

#if !defined(PYPY_VERSION) && PY_VERSION_HEX < 0x030B0000

Reproducible example code

No response

@Skylion007 Skylion007 added this to the v2.8 milestone Dec 6, 2021
@Skylion007 Skylion007 changed the title [BUG]: Remove Python 3.11 dispatch workaround [BUG]: Remove Python 3.11/PyPy dispatch workaround Dec 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant