@@ -807,6 +807,15 @@ All of the following opcodes use their arguments.
807
807
.. versionadded :: 3.5
808
808
809
809
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
+
810
819
.. opcode :: BUILD_LIST_UNPACK (count)
811
820
812
821
This is similar to :opcode: `BUILD_TUPLE_UNPACK `, but pushes a list
@@ -834,14 +843,16 @@ All of the following opcodes use their arguments.
834
843
.. versionadded :: 3.5
835
844
836
845
837
- .. opcode :: BUILD_MAP_UNPACK_WITH_CALL (oparg )
846
+ .. opcode :: BUILD_MAP_UNPACK_WITH_CALL (count )
838
847
839
848
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 ``.
843
851
844
852
.. 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.
845
856
846
857
847
858
.. opcode :: LOAD_ATTR (namei)
0 commit comments