@@ -807,6 +807,15 @@ All of the following opcodes use their arguments.
807807 .. versionadded :: 3.5
808808
809809
810+ .. opcode :: BUILD_TUPLE_UNPACK_WITH_CALL (count)
811+
812+ This is similar to :opcode: `BUILD_TUPLE_UNPACK `,
813+ but is used for ``f(*x, *y, *z) `` call syntax. The stack item at position
814+ ``count + 1 `` should be the corresponding callable ``f ``.
815+
816+ .. versionadded :: 3.6
817+
818+
810819.. opcode :: BUILD_LIST_UNPACK (count)
811820
812821 This is similar to :opcode: `BUILD_TUPLE_UNPACK `, but pushes a list
@@ -834,14 +843,16 @@ All of the following opcodes use their arguments.
834843 .. versionadded :: 3.5
835844
836845
837- .. opcode :: BUILD_MAP_UNPACK_WITH_CALL (oparg )
846+ .. opcode :: BUILD_MAP_UNPACK_WITH_CALL (count )
838847
839848 This is similar to :opcode: `BUILD_MAP_UNPACK `,
840- but is used for ``f(**x, **y, **z) `` call syntax. The lowest byte of
841- *oparg * is the count of mappings, the relative position of the
842- corresponding callable ``f `` is encoded in the second byte of *oparg *.
849+ but is used for ``f(**x, **y, **z) `` call syntax. The stack item at
850+ position ``count + 2 `` should be the corresponding callable ``f ``.
843851
844852 .. versionadded :: 3.5
853+ .. versionchanged :: 3.6
854+ The position of the callable is determined by adding 2 to the opcode
855+ argument instead of encoding it in the second byte of the argument.
845856
846857
847858.. opcode :: LOAD_ATTR (namei)
0 commit comments