micropython/tests/cpydiff
David Lechner 783b1a868f py/runtime: Allow multiple *args in a function call.
This is a partial implementation of PEP 448 to allow unpacking multiple
star args in a function or method call.

This is implemented by changing the emitted bytecodes so that both
positional args and star args are stored as positional args.  A bitmap is
added to indicate if an argument at a given position is a positional
argument or a star arg.

In the generated code, this new bitmap takes the place of the old star arg.
It is stored as a small int, so this means only the first N arguments can
be star args where N is the number of bits in a small int.

The runtime is modified to interpret this new bytecode format while still
trying to perform as few memory reallocations as possible.

Signed-off-by: David Lechner <david@pybricks.com>
2022-03-31 16:59:30 +11:00
..
modules
modules2/subpkg
modules3
builtin_next_arg2.py
core_class_delnotimpl.py
core_class_mro.py
core_class_supermultiple.py
core_class_superproperty.py
core_fstring_concat.py
core_fstring_parser.py
core_fstring_raw.py
core_fstring_repr.py
core_function_argcount.py
core_function_moduleattr.py
core_function_userattr.py
core_generator_noexit.py
core_import_all.py
core_import_path.py
core_import_prereg.py
core_import_split_ns_pkgs.py
core_locals.py
core_locals_eval.py
module_array_comparison.py
module_array_constructor.py
modules_array_containment.py
modules_array_deletion.py
modules_array_subscrstep.py
modules_deque.py
modules_json_nonserializable.py
modules_os_environ.py
modules_os_getenv.py
modules_os_getenv_argcount.py
modules_random_getrandbits.py
modules_random_randint.py
modules_struct_fewargs.py
modules_struct_manyargs.py
modules_struct_whitespace_in_format.py
modules_sys_stdassign.py
syntax_arg_unpacking.py py/runtime: Allow multiple *args in a function call. 2022-03-31 16:59:30 +11:00
syntax_assign_expr.py
syntax_spaces.py
syntax_unicode_nameesc.py
types_bytearray_sliceassign.py
types_bytes_format.py
types_bytes_keywords.py
types_bytes_subscrstep.py
types_dict_keys_set.py
types_exception_attrs.py
types_exception_chaining.py
types_exception_instancevar.py
types_exception_loops.py
types_exception_subclassinit.py
types_float_rounding.py
types_int_bit_length.py
types_int_subclassconv.py
types_list_delete_subscrstep.py
types_list_store_noniter.py
types_list_store_subscrstep.py
types_str_endswith.py
types_str_formatsubscr.py
types_str_keywords.py
types_str_ljust_rjust.py
types_str_rsplitnone.py
types_str_subscrstep.py
types_tuple_subscrstep.py