Skip to content

PEP 709: Crash with lambda + nested scope #104602

Closed
@JelleZijlstra

Description

@JelleZijlstra

This crashes on main:

def a():
    def a():
        [(lambda : b) for b in [a]]
        print(b)

The original reproducer (found with my fork of https://github.com/carljm/compgenerator) was

class a:
    def a():
        class a:
            [(lambda : (a := a[(a := 2)])[b]) for b in (lambda b, a: 7)[a]]
            [][2] = b
            (1)[lambda a: a] = 4
            (2)[2] = b = a
        (4)[lambda b, a: b] = a = lambda : 1

Found in #104528 (comment) but turned out be unrelated to that PR.

Linked PRs

Metadata

Metadata

Assignees

Labels

type-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions