mirror of
https://github.com/python/cpython.git
synced 2025-08-30 05:35:08 +00:00
bpo-40334: Error message for invalid default args in function call (GH-19973)
When parsing something like `f(g()=2)`, where the name of a default arg is not a NAME, but an arbitrary expression, a specialised error message is emitted.
This commit is contained in:
parent
2f37c355ab
commit
4638c64295
4 changed files with 222 additions and 159 deletions
|
@ -242,16 +242,16 @@ class ExceptionTests(unittest.TestCase):
|
|||
check('from __future__ import doesnt_exist', 1, 1)
|
||||
check('from __future__ import braces', 1, 1)
|
||||
check('x=1\nfrom __future__ import division', 2, 1)
|
||||
check('(yield i) = 2', 1, 1)
|
||||
check('def f(*):\n pass', 1, 7 if support.use_old_parser() else 8)
|
||||
check('foo(1=2)', 1, 5 if support.use_old_parser() else 6)
|
||||
|
||||
@support.skip_if_new_parser("Pegen column offsets might be different")
|
||||
def testSyntaxErrorOffsetCustom(self):
|
||||
self.check('for 1 in []: pass', 1, 5)
|
||||
self.check('[*x for x in xs]', 1, 2)
|
||||
self.check('def f():\n x, y: int', 2, 3)
|
||||
self.check('(yield i) = 2', 1, 1)
|
||||
self.check('foo(x for x in range(10), 100)', 1, 5)
|
||||
self.check('foo(1=2)', 1, 5)
|
||||
|
||||
@cpython_only
|
||||
def testSettingException(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue