- Python Home
- About
- News
- Documentation
- Downloads
- Community
- Foundation
- Developer's Guide
- Issue Tracker
- Issues
- Summaries
- User
- Administration
- Help
Issue43947
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2021-04-27 02:13 by bup, last changed 2022-04-11 14:59 by admin. This issue is now closed.
| Messages (3) | |||
|---|---|---|---|
| msg392015 - (view) | Author: Dan Snider (bup) * | Date: 2021-04-27 02:13 | |
>>> import dis
>>> @dis.dis
... def funcdef(k): return k in {None} ... 2 0 LOAD_FAST 0 (k)
2 LOAD_CONST 1 (frozenset({None})) 4 COMPARE_OP 6 (in) 6 RETURN_VALUE
>>> regass = lambda k: k in {None}
>>> dis.dis(regass)
1 0 LOAD_FAST 0 (k)
2 LOAD_CONST 1 (frozenset({None}))
4 COMPARE_OP 6 (in)
6 RETURN_VALUE >>> dis.dis(walrus:=lambda k: k in {None})
1 0 LOAD_FAST 0 (k)
2 LOAD_CONST 0 (None)
4 BUILD_SET 1
6 COMPARE_OP 6 (in)
8 RETURN_VALUE
As the third example demonstrates, the code for the anonymous function assigned to walrus by an assignment expression isn't receiving the relatively recent frozenset optimization.
|
|||
| msg392084 - (view) | Author: Ken Jin (kj) * ![]() |
Date: 2021-04-27 14:51 | |
I'm unable to reproduce it on 3.10:
>>> regass = lambda k: k in {None}
>>> dis.dis(regass)
1 0 LOAD_FAST 0 (k)
2 LOAD_CONST 1 (frozenset({None}))
4 CONTAINS_OP 0
6 RETURN_VALUE
>>> dis.dis(walrus:=lambda k: k in {None})
1 0 LOAD_FAST 0 (k)
2 LOAD_CONST 1 (frozenset({None}))
4 CONTAINS_OP 0
6 RETURN_VALUE
On 3.9 and 3.8, I'm able to reproduce your bug.
|
|||
| msg392108 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * ![]() |
Date: 2021-04-27 17:24 | |
It was fixed in issue42282. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:59:44 | admin | set | github: 88113 |
| 2021-04-27 17:24:06 | serhiy.storchaka | set | status: open -> closed superseder: Constant folding is skipped in named expressions nosy: + serhiy.storchaka messages: + msg392108 resolution: duplicate stage: resolved |
| 2021-04-27 14:51:57 | kj | set | nosy:
+ kj messages: + msg392084 versions: - Python 3.10 |
| 2021-04-27 05:37:35 | serhiy.storchaka | set | components:
+ Interpreter Core versions: + Python 3.9, Python 3.10 |
| 2021-04-27 02:13:48 | bup | create | |


