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/