classification
Title: Document BUILD_*_UNPACK opcodes
Type: behavior Stage: resolved
Components: Documentation Versions: Python 3.7, Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: brett.cannon Nosy List: Joshua.Landau, benjamin.peterson, berker.peksag, brett.cannon, docs@python, levkivskyi, neil.g, serhiy.storchaka, twouters
Priority: high Keywords:

Created on 2016-01-26 23:40 by brett.cannon, last changed 2017-03-24 23:01 by brett.cannon. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 238 merged levkivskyi, 2017-02-22 13:32
PR 440 merged brett.cannon, 2017-03-03 21:55
PR 441 merged brett.cannon, 2017-03-03 21:56
Messages (8)
msg258985 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2016-01-26 23:40
Turns out the BUILD_TUPLE_UNPACK and BUILD_LIST_UNPACK opcodes are undocumented in the dis module.
msg258986 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2016-01-26 23:59
There are also BUILD_SET_UNPACK and BUILD_MAP_UNPACK as well.
msg268127 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2016-06-10 16:50
And BUILD_MAP_UNPACK_WITH_CALL.

All these opcodes were added in issue2292 for implementing PEP 448, but are not documented even in the PEP.
msg287605 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-02-11 15:34
At the same time the semantic of the BUILD_MAP opcode was changed. However the documentation was not updated and currently it doesn't match the implementation. This caused an issue in third-party projects that operate with bytecode.

See also issue28810 for documenting bytecode changes in 3.6.
msg288943 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2017-03-03 22:48
Thanks to Ivan for the PRs!
msg290313 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2017-03-24 23:00
New changeset 4d0630d9d5ff4919caa463a64887f32d671eaab8 by Brett Cannon in branch '3.5':
bpo-26213: Document _UNPACK bytecodes and BUILD_MAP changes (GH-441)
https://github.com/python/cpython/commit/4d0630d9d5ff4919caa463a64887f32d671eaab8
msg290315 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2017-03-24 23:00
New changeset 226af23e858e2914cf78dfa6fd441c7b90a4cc91 by Brett Cannon in branch '3.6':
bpo-26213: Document _UNPACK bytecodes and BUILD_MAP changes (GH-440)
https://github.com/python/cpython/commit/226af23e858e2914cf78dfa6fd441c7b90a4cc91
msg290319 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2017-03-24 23:01
New changeset 0705f66eb369aa6a6cdb699e24ff61e1ab2e0c56 by Brett Cannon (Ivan Levkivskyi) in branch 'master':
bpo-26213: Document _UNPACK bytecodes and BUILD_MAP changes (#238)
https://github.com/python/cpython/commit/0705f66eb369aa6a6cdb699e24ff61e1ab2e0c56
History
Date User Action Args
2017-03-24 23:01:45brett.cannonsetmessages: + msg290319
2017-03-24 23:00:26brett.cannonsetmessages: + msg290315
2017-03-24 23:00:02brett.cannonsetmessages: + msg290313
2017-03-03 22:48:42brett.cannonsetstatus: open -> closed
resolution: fixed
messages: + msg288943

stage: needs patch -> resolved
2017-03-03 21:56:31brett.cannonsetpull_requests: + pull_request367
2017-03-03 21:55:54brett.cannonsetpull_requests: + pull_request366
2017-03-03 21:26:13brett.cannonsetassignee: docs@python -> brett.cannon
2017-02-22 14:23:29serhiy.storchakalinkissue28810 dependencies
2017-02-22 13:32:54levkivskyisetpull_requests: + pull_request200
2017-02-22 09:14:17levkivskyisetnosy: + levkivskyi
2017-02-13 19:04:29berker.peksagsetnosy: + berker.peksag
2017-02-11 15:34:11serhiy.storchakasetpriority: low -> high
type: behavior
messages: + msg287605

versions: + Python 3.5, Python 3.7
2016-06-10 16:50:04serhiy.storchakasetnosy: + twouters, neil.g, serhiy.storchaka, Joshua.Landau
messages: + msg268127
2016-01-26 23:59:01brett.cannonsetmessages: + msg258986
title: Document BUILD_LIST_UNPACK & BUILD_TUPLE_UNPACK -> Document BUILD_*_UNPACK opcodes
2016-01-26 23:40:45brett.cannoncreate