diff --git a/test/bytecode_3.3_run/04_def_annotate.pyc b/test/bytecode_3.3_run/04_def_annotate.pyc index 62ab73c3..d3b56657 100644 Binary files a/test/bytecode_3.3_run/04_def_annotate.pyc and b/test/bytecode_3.3_run/04_def_annotate.pyc differ diff --git a/test/bytecode_3.4_run/04_def_annotate.pyc b/test/bytecode_3.4_run/04_def_annotate.pyc new file mode 100644 index 00000000..8fd46ab4 Binary files /dev/null and b/test/bytecode_3.4_run/04_def_annotate.pyc differ diff --git a/test/bytecode_3.5_run/04_def_annotate.pyc b/test/bytecode_3.5_run/04_def_annotate.pyc index de1ad944..cea8283c 100644 Binary files a/test/bytecode_3.5_run/04_def_annotate.pyc and b/test/bytecode_3.5_run/04_def_annotate.pyc differ diff --git a/test/bytecode_3.7_run/04_def_annotate.pyc b/test/bytecode_3.7_run/04_def_annotate.pyc index 48fd26bc..754ab6a5 100644 Binary files a/test/bytecode_3.7_run/04_def_annotate.pyc and b/test/bytecode_3.7_run/04_def_annotate.pyc differ diff --git a/test/simple_source/bug31/04_def_annotate.py b/test/simple_source/bug31/04_def_annotate.py index 9ae36156..4281a809 100644 --- a/test/simple_source/bug31/04_def_annotate.py +++ b/test/simple_source/bug31/04_def_annotate.py @@ -31,9 +31,22 @@ def test9(arg_1=55, *varargs: int, y=5, **kwargs): def test10(args_1, b: 'annotating b', c: int) -> float: return 5.4 -class IOBase: +def test11(*, name): + return args, name + +def test12(a, *args, name): + return a, args pass +def test13(*args, name): + return args, name + +def test14(*args, name: int=1, qname): + return args, name, qname + +def test15(*args, name='S', fname, qname=4): + return args, name, fname, qname + # Python 3.1 _pyio.py uses the -> "IOBase" annotation def o(f, mode = "r", buffering = None) -> "IOBase": return (f, mode, buffering) @@ -121,3 +134,8 @@ assert test6(2.3, 4, 5) == (2.3, 4, 5) ann1(1, 'test', 5) ann2(1) + +### FIXME: fill in... + +assert test12(1, 2, 3, name='hi') == (1, (2, 3)), "a, *args, name" +assert test13(1, 2, 3, name='hi') == ((1, 2, 3), 'hi'), "*args, name"