On Thu, Mar 2, 2017 at 11:22 PM, Stephan Houben <stephan...@gmail.com> wrote:
> Would this also apply if we provide or capture the keyword arguments using
> ** ?
>
> I.e.
> f(**{"x": NoDict})
>
> (lambda **kw: kw)(x=NoDict)
>
> In that case I see a problem with this idiom:
>
> newdict = dict(**olddict)
>
> This would now start throwing errors in case any of the values of olddict
> was NoDefault.
>

You shouldn't be returning NoDefault anywhere, though, so the only
problem is that the error is being reported in the wrong place. If
this were to become syntax, enhanced linters could track down exactly
where NoDefault came from, and report the error, because that's really
where the bug is.

ChrisA
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to