You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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:
pybind11/include/pybind11/pybind11.h
Line 2368 in a224d0c
Reproducible example code
No response
The text was updated successfully, but these errors were encountered: