[Python-Dev] PEP 559 - built-in noop() (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Thu Nov 23 05:35:29 EST 2017


On 23 November 2017 at 19:42, Chris Jerdonek <chris.jerdonek at gmail.com> wrote:

On Wed, Nov 22, 2017 at 4:32 PM, Victor Stinner <victor.stinner at gmail.com> wrote:

Aha, contextlib.nullcontext() was just added, cool!

So is this equivalent to-- @contextmanager def yielding(x): yield x I thought we were against adding one-line functions?

There's a lot of runtime complexity hiding behind that "@contextmanager" line, so I'm open to contextlib additions that make it possible for sufficiently common patterns to avoid it. (The explicit class based nullcontext() implementation is 7 lines, the same as contextlib.closing())

After 7+ years, I'm happy that this one comes up often enough to be worth a more obvious standard library level answer than we'd previously offered. https://bugs.python.org/issue10049#msg281556 captures the point where I really started changing my mind.

Cheers, Nick.

-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20171123/ce3bc07e/attachment.html>



More information about the Python-Dev mailing list