-
-
Notifications
You must be signed in to change notification settings - Fork 345
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
Python 3.8 wishlist #495
Comments
Regarding bpo-12857 for KI atomicity, could we just use a flag in the code object I guess if we're to stop munging frame objects at runtime to make PyPy happy, it would need to be two flags, one meaning "enable KI protection" and one "disable KI protection". The same CO_* flags namespace is used for PyPy seems to define the same CO_FUTURE_* flags as CPython does, with the same values. |
Future flags can be consulted at runtime in case you need to call |
3.7 is in beta now, so I'm closing the old 3.7 wishlist (#103) and starting a new one :-). This isn't complete or fully-fleshed out, but to get us started, here's some stuff off the top of my head:
Better MultiError support: the main two pain points are catching them, and printing them (in particular we can override
sys.excepthook
, but that doesn't help with other code that wants to print or capture tracebacks like IPython, pytest, raven, ...)Whatever we decide we need to improve handling of cancel scope/nursery interaction with generators. PEP 568 is one approach (Implement a strategy for handling (async) generator cleanup #265). This is complicated because cancel scopes and nurseries have somewhat different needs. Or maybe we just want to disallow
yield
ing from inside them... but that would also need some kind of help from the interpreter. Details: [discussion] What to do about cancel scopes / nurseries inside generators? #264 (comment)Motion on bpo-32561 would be neat (better performance for async file operations)
Making
KeyboardInterrupt
protection more reliable:@enable_ki_protection
atomic; for example, bpo-12857Try proposing a hook that runs on bare calls to async functions (so e.g.
await f()
doesn't call the hook, butf()
does). Trio would make this an error (Can we make forgetting an await be an error? #79), asyncio would make it callensure_future
, twisted would callasDeferred
, etc.Adding a
signal.raise_
wrapper (bpo-35568, see also Our current mechanism for accessing the C raise() function is broken on Windows if using the debug CRT #816)The text was updated successfully, but these errors were encountered: