warn about parameter tuple unpacking
This commit is contained in:
parent
d5efd20406
commit
f4fcdb6b8c
|
@ -173,6 +173,12 @@ class TestPy3KWarnings(unittest.TestCase):
|
|||
with catch_warning() as w:
|
||||
self.assertWarning(set(), w, expected)
|
||||
|
||||
def test_tuple_parameter_unpacking(self):
|
||||
expected = "tuple parameter unpacking has been removed in 3.x"
|
||||
with catch_warning() as w:
|
||||
exec "def f((a, b)): pass"
|
||||
self.assertWarning(None, w, expected)
|
||||
|
||||
def test_buffer(self):
|
||||
expected = 'buffer() not supported in 3.x; use memoryview()'
|
||||
with catch_warning() as w:
|
||||
|
|
|
@ -701,6 +701,9 @@ ast_for_arguments(struct compiling *c, const node *n)
|
|||
/* def foo((x)): is not complex, special case. */
|
||||
if (NCH(ch) != 1) {
|
||||
/* We have complex arguments, setup for unpacking. */
|
||||
if (Py_Py3kWarningFlag && !ast_warn(c, ch,
|
||||
"tuple parameter unpacking has been removed in 3.x"))
|
||||
goto error;
|
||||
asdl_seq_SET(args, k++, compiler_complex_args(c, ch));
|
||||
if (!asdl_seq_GET(args, k-1))
|
||||
goto error;
|
||||
|
|
Loading…
Reference in New Issue