Nathaniel Smith <n...@pobox.com> added the comment:
> I wouldn't be OK with magic switching in the behaviour of ContextDecorator > (that's not only semantically confusing, it's also going to make the > contextlib function wrappers even slower than they already are). I hear you on the semantic confusion, but is a single check at definition time really that expensive? The runtime cost is zero. > I'm also entirely unclear on what you would expect a synchronous context > manager to do when applied to an asynchronous function, as embedding an > "await" call inside a synchronous with statement is unlikely to end well. It would be like: async def blah(): with something(): await foo() There's nothing weird about this; people write the long version all the time. You'd only do it when 'something()' doesn't do I/O, but there are lots of context managers that don't do I/O. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37398> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com