Index: Python/ast.c =================================================================== --- Python/ast.c (revision 64040) +++ Python/ast.c (working copy) @@ -694,6 +694,9 @@ /* 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 upacking 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; Index: Lib/test/test_py3kwarn.py =================================================================== --- Lib/test/test_py3kwarn.py (revision 64039) +++ Lib/test/test_py3kwarn.py (working copy) @@ -124,6 +124,12 @@ with catch_warning() as w: self.assertWarning(set(), w, expected) + def test_tuple_parameter_unpacking(self): + expected = "tuple parameter upacking 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: