Issue #28257: Improved error message when pass a non-iterable as

a var-positional argument.  Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
This commit is contained in:
Serhiy Storchaka 2016-10-02 10:33:46 +03:00
parent 8f0f205649
commit 7344285c19
9 changed files with 140 additions and 113 deletions

View file

@ -238,6 +238,7 @@ def _write_atomic(path, data, mode=0o666):
# #27985)
# Python 3.6b1 3376 (simplify CALL_FUNCTIONs & BUILD_MAP_UNPACK_WITH_CALL)
# Python 3.6b1 3377 (set __class__ cell from type.__new__ #23722)
# Python 3.6b2 3378 (add BUILD_TUPLE_UNPACK_WITH_CALL #28257)
#
# MAGIC must change whenever the bytecode emitted by the compiler may no
# longer be understood by older implementations of the eval loop (usually
@ -246,7 +247,7 @@ def _write_atomic(path, data, mode=0o666):
# Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array
# in PC/launcher.c must also be updated.
MAGIC_NUMBER = (3377).to_bytes(2, 'little') + b'\r\n'
MAGIC_NUMBER = (3378).to_bytes(2, 'little') + b'\r\n'
_RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little') # For import.c
_PYCACHE = '__pycache__'