Message 65095 - Python tracker (original) (raw)

Thomas,

Could you add BUILD_*UNPACK opcodes documentation to Doc/library/dis.rst? It would also help if you modify CALL_FUNCTION* opcodes' documentation to explain how they will interact with unpacking opcodes.

Do I understand correctly that non-starred arguments are packed into intermediate tuples/sets in the presence of starred arguments so that {a,b,c,d,e} is equivalent to {{a,b},c,{d,e}}? This should not be a problem for tuples, but with sets, it means that {a,b,c} may behave subtly differently from {a,*(b,c)}.