◐ Shell
clean mode source ↗

Issue 30577: Multidimensional comprehensions cannot access class variables except in the first for

Reduced reproduction:

class X:
    r = [1, 2, 3]
    z = [(i, j) for i in [4, 5] for j in r]

fails with "NameError: name 'r' is not defined". The expected behavior would be for r to be resolved as the r in the class namespace. Note in contrast that

class Y:
    r = [1, 2, 3]
    z = [(i, j) for j in r for i in [4, 5]]

does not fail.

(Version 3.5.2 on Windows)