Skip to content

Instantly share code, notes, and snippets.

@AlexWaygood
Created April 30, 2025 11:40
Show Gist options
  • Save AlexWaygood/0925516f7b39516cf02f5dac6fca541e to your computer and use it in GitHub Desktop.
Save AlexWaygood/0925516f7b39516cf02f5dac6fca541e to your computer and use it in GitHub Desktop.
Repro of new red-knot panic
f'None{name_5!s}' if (name_5 if name_2 else name_2)({*()}, (name_4 := name_0)) else name_4 % name_5 if f'' else name_4 & name_5
{{*()}: {name_4.name_1 for name_1 in name_2 if name_0 if name_2 if name_3 if name_0 for name_0 in name_4 if name_4 if name_3 for name_0 in name_1 if name_5 for name_4 in name_5 if name_1 if name_4 if name_4 if name_2 if name_1 for name_0 in name_2 if name_4 if name_5 if name_2 if name_2} for name_1, in (lambda: name_5) if {name_0: name_1 for name_0 in name_2 for name_4 in name_1 for name_0 in name_3} for name_0[name_2] in name_0 and name_3 and name_4 and name_5 if name_3(name_4, name_4, name_0=name_3) for [name_2, name_0] in (name_4 async for name_4 in name_5 async for name_0 in name_1 async for name_1 in name_3 async for name_5 in name_2) if {name_3 for name_5 in name_4 for name_2 in name_4 for name_4 in name_3 for name_4 in name_0} if {*()} if {name_2 for name_5 in name_1 for name_0 in name_3 for name_1 in name_2 for name_1 in name_3 for name_5 in name_4 for name_4 in name_2} if name_4.name_2 for name_1[name_0] in name_1.name_5 if [name_2, name_4, name_5] if None if {name_5 for name_3 in name_1} if {*()} for name_4[name_5] in (lambda: name_1) if name_2.name_3 if {name_1: name_0 for name_5 in name_3} if name_5 // name_1 if [name_2 for name_1 in name_3 for name_4 in name_2 for name_4 in name_4] if name_0 and name_4 and name_4 for name_4 in name_1 @ name_5}
pass
((lambda **name_4: name_0) and name_4 + name_2 and (name_3 async for name_4 in name_0) and {name_0: name_1 for name_3 in name_3}).name_4: [{*()} for name_4 in name_2 if name_4 if name_5 if name_4 if name_1] > {name_3 <= name_3: ~name_4, f'': name_3.name_3} in name_0 in name_4 in [name_4 % name_4, name_3[name_2], {name_4 for name_5 in name_1}] = name_3 if False else {name_1[name_5], b'some bytes', name_2(), +name_2, name_3 ** name_4}
name_5 *= f'' > {~name_4, name_2 - name_4, name_0 >= name_1, -name_2, name_2} == {name_4 if name_2 else name_4 for name_2 in name_0 if name_3 for name_1 in name_3 if name_3 if name_2 if name_4 if name_1} != ({}, (name_4 := name_4), [], name_1 >> name_0, b'')
[[name_1 for name_3 in name_5][{name_2 for name_4 in name_0}]]
[{name_1: name_0 for name_4 in name_1}[name_5], [name_0 for name_1 in name_1] and () and name_1.name_3 and f'' and name_4 and (lambda *name_0, **name_3: name_5) and name_5 ** name_5, [name_2 in name_3 for name_4 in name_0 if name_4 if name_3 if name_2 for name_0 in name_2 if name_1 if name_1 if name_4 for name_3 in name_4 if name_3 if name_2 if name_5 for name_4 in name_2 if name_5 if name_1 if name_4 for name_3 in name_1 for name_4 in name_2 if name_2 if name_4], *(), {True: name_5(), (name_2 async for name_4 in name_3): (name_1 async for name_3 in name_5)}]
(name_5 := (name_1 or name_0)) if ~{name_5: name_5 for name_1 in name_2} else name_4() if () else name_5[name_1]
try:
pass
raise
@{{} for name_5 in name_4 if name_0 if name_1 if name_4 if name_2 if name_1 for name_5 in name_5 if name_2 if name_0 if name_0 for name_4 in name_4 if name_5 if name_1 if name_3 if name_5}
@name_3
@{name_2 if name_1 else name_3 for name_0 in name_1 for name_3 in name_3 if name_2 if name_3 if name_0}
@[]
async def name_3[**name_1, name_2, **name_5, *name_0, **name_3](name_3: name_5, name_4, name_1, name_2: 18, /, name_0: lambda **name_1: name_2): # type: ignore
await name_1
f''(f'', name_2, {}, 3.2585229819412165, name_2(), name_4=name_0, name_1=name_5)
except* () and name_3[name_3] as name_2:
name_3.name_2
name_5()
else:
0
pass
{-name_0: not name_5 for name_2 in name_3 if name_2 if name_0 if name_0 for name_0 in name_4 if name_1 if name_4 if name_3 if name_2 if name_2 for name_3 in name_5 if name_5 if name_1 if name_0 if name_3 if name_1}
lambda name_3, name_4=name_2, name_0=name_1, name_5=name_1, name_2=name_0, /, name_1=name_0: []
finally:
@(name_2 async for name_5 in name_2) if name_0 @ name_4 else ()
@{lambda *name_5: name_2: {*()}, name_5: name_1.name_2, (): []}
async def name_5[name_2, *name_1, **name_4, name_3](name_0, name_3: name_3 if name_5 else name_4, name_4, /, name_2, name_1) -> {(): name_0 for name_2 in name_2 if name_3 if name_0 if name_5 if name_3 for name_5 in name_2 if name_0 if name_5 for name_0 in name_3 if name_3 if name_3 if name_3}: # type: ignore
{}
{}
match (name_0 async for name_0 in name_4):
case name_4.name_2 if name_4:
pass
case name_3.name_4:
pass
case '' if name_0:
pass
pass
pass
pass
case name_3.name_1 if name_0:
pass
pass
case 7:
pass
pass
pass
case name_3.name_2:
pass
pass
pass
pass
name_1 + name_2
None
''
[name_4 | name_1 for name_2 in name_0 if name_5 if name_2 for name_1 in name_4 if name_0 if name_2 for name_5 in name_2 if name_3 for name_0 in name_0 if name_5 if name_4 if name_0 if name_1 if name_5 for name_0 in name_1 if name_1 if name_0 if name_1 if name_1 for name_2 in name_2 if name_1 if name_1 if name_1 if name_3]
f'''{name_5:}{name_5!s:}{name_4!s}{name_1:}b'\\'"\\'\\'\\'"""{{}}\\\\\''''
f'''19.455483545453788{ {}!a:}16.937719579932736b'\\'"\\'\\'\\'"""{{}}\\\\\'\'"\'\'\'"""{{}}\\'''
@(name_3 := {}.name_1)
@(await {*()} async for name_1.name_3 in name_0[name_5] if (name_3, name_3) if name_4 | name_4 if name_2 >= name_0 == name_0 is name_4 < name_1 async for name_1[name_4] in {name_5: name_3 for name_0 in name_2 for name_3 in name_0} if name_5 >= name_3 is not name_2 == name_1 >= name_5 if (name_3 async for name_4 in name_0 async for name_3 in name_2 for name_0 in name_0) async for name_0.name_1 in [name_2 for name_4 in name_4 for name_3 in name_2 for name_5 in name_3 for name_1 in name_4])
@lambda name_1, name_0, /, name_5, name_4, name_2=(), name_3=[name_3 for name_1 in name_5 for name_4 in name_2 for name_1 in name_0]: {name_5: {name_2 for name_2 in name_2}, +name_5: name_1[name_0]}
class name_3[name_4: [() for name_1 in name_4 if name_1 if name_4 if name_1 if name_1 if name_3 for name_5 in name_5 if name_2 if name_0 if name_4 if name_5 if name_3 for name_5 in name_2 if name_5 if name_1 for name_4 in name_5 if name_3], name_2: name_0 or f'' or (lambda *name_3, **name_4: name_1), name_5: {*()} and name_1()]:
for [[], (), name_5.name_1, name_5.name_3] in f'' and (name_4 for name_2 in name_4) and name_3[name_4] and (name_2 async for name_1 in name_1): # type: ignore
name_1[name_5]
@name_4[name_0]
@not name_4
@name_4 - name_4
@{}
async def name_4[*name_2, *name_3, **name_1](name_2, **name_5): # type: ignore
name_5 = name_1 # type: ignore
while name_3:
pass
while name_2:
pass
f''
{name_5: name_3 for name_4 in name_2}
import name_1 as name_4, name_0, name_2, name_1
()
else:
(name_5 for name_3 in name_1)
from ... import name_4 as name_0, name_3 as name_1, name_3, name_5 as name_2, name_3 as name_5
{[] for name_5 in name_2 if name_3 if name_2 if name_4 if name_1 if name_4}
lambda name_0, name_5, /, **name_4: {name_5 for name_3 in name_0}
[name_1 or name_4, (), {name_3: name_5 for name_4 in name_3}, name_4 and name_1] if ({*()} async for name_4 in name_1 if name_5 if name_4 if name_2 if name_5 async for name_2 in name_5 if name_0 async for name_2 in name_2 if name_0 if name_5 if name_4) else (None,)
lambda name_0, name_4, /, name_2, *, name_1=name_3.name_4, name_5=name_2(name_1, name_4=name_2, name_0=name_2), name_3=(name_5 async for name_3 in name_2 for name_4 in name_2 async for name_4 in name_3 for name_1 in name_3 async for name_3 in name_4 for name_3 in name_0): {True: name_4 != name_3, name_3 or name_3: f'', lambda *name_4: name_2: name_4[name_4]}
@{lambda name_0, name_4, /, name_3, *, name_5=name_5, name_1=name_2, name_2=name_2: () for [name_2, name_5, name_2, name_3] in name_5(name_3, name_5, name_3, **name_2, **name_4, name_0=name_0) if (name_3, name_3, name_0, name_5, name_4)}
def name_5[name_4, **name_2](name_1: 0 if name_2 else 17.988681870382557, name_3, name_0, /, name_4: f'\'"\'\'\'"""{{}}\\{name_3!s:}15{name_5!s}{name_0!r}', name_5): # type: ignore
{name_1 for name_1 in name_0} @ name_2()
from .name_0 import name_0, name_1, name_0, name_5 as name_1, name_3, name_0 as name_4
(name_4.name_5 for name_4 in name_1 if name_2 if name_2 if name_0 async for name_4 in name_4 if name_3 if name_1 if name_1 if name_5 if name_2 async for name_5 in name_5 if name_5 if name_4 async for name_2 in name_3 if name_0 async for name_1 in name_3 if name_1 async for name_2 in name_2 if name_2 if name_4 if name_0 if name_1)
~name_0[name_0]
del (name_2.name_1, name_3.name_1, name_4[name_3], name_1), True[name_4.name_1], [name_4.name_2, [], name_0[name_4], name_4], [name_0, name_0.name_5, name_2.name_0]
(name_1 if name_2 else name_5).name_4 = name_1.name_1.name_5 = (yield from (name_3 in name_4)) # type: ignore
type name_2[**name_2, **name_1, **name_4] = {lambda name_4, name_3, /, name_2, *name_1, **name_0: name_4 and name_3: name_2 for name_4 in {name_4: name_5 for name_4 in name_4} if name_3 * name_2 if +name_4 for [name_5] in name_4 ** name_0 if () if {*()} if (name_5 if name_2 else name_3) if [name_5, name_5, name_3, name_3] for name_4, name_2 in name_1 if {name_5: name_4 for name_5 in name_5 for name_5 in name_4 for name_4 in name_0 for name_4 in name_1 for name_0 in name_4 for name_5 in name_0} if ~name_4 for name_4 in {name_2 for name_4 in name_3 for name_3 in name_2} for [name_3, name_2, name_5] in f'' if name_1[name_3] if name_3 and name_5 and name_2 and name_2 and name_0 and name_2 for [name_2, name_2] in name_2 and name_1 and name_2 and name_4}
assert {{*()}, {*()}} or (f'' if [] else name_3[name_0]) or {name_2: name_1 or name_2 for name_5 in name_4 if name_3 for name_4 in name_5 if name_0 if name_2 if name_2 if name_5 if name_1 for name_0 in name_2 if name_5 if name_3} or f'{name_4!s}{name_4!s}{name_4!a:}{name_3!a}' or '' or (lambda name_3, /, name_2, name_0, name_1, *, name_4=name_5: name_1 if name_1 else name_1), [lambda name_2, /, name_0, name_1, name_3, name_5: ~name_5 for name_5[name_1] in {name_1: name_5, name_1: name_0, name_4: name_3, name_1: name_3} if {name_0 for name_0 in name_2 for name_1 in name_3 for name_3 in name_3 for name_3 in name_1 for name_0 in name_1} if {name_2 for name_1 in name_2 for name_4 in name_2 for name_2 in name_5 for name_4 in name_5 for name_2 in name_2} for name_3.name_1 in (name_2 if name_2 else name_2) for name_2.name_4 in name_0[name_2] if name_5[name_3] for [] in name_0 <= name_3 is not name_1 is name_5 in name_1 > name_4 == name_1 if {name_0: name_4, name_2: name_3, name_0: name_0, name_1: name_1} if name_5 for name_0, in {name_0: name_5 for name_5 in name_4 for name_4 in name_4 for name_0 in name_1 for name_2 in name_1 for name_5 in name_4} if [name_1, name_5, name_1, name_2] if {name_2, name_0, name_2, name_1} if [name_4 for name_1 in name_3 for name_4 in name_3 for name_1 in name_3 for name_5 in name_1 for name_5 in name_2 for name_2 in name_2] if f'''b'\\'"\\'\\'\\'"""{{}}\\\\\'{name_5!s}{name_5:}{name_5!a:}''' if name_0 or name_4 or name_0 or name_4 or name_5 or name_2 or name_5]
[{[]: {*()} for name_2 in name_4 if name_4 if name_5 if name_0 for name_3 in name_5 if name_2 if name_4 for name_3 in name_3 if name_3 if name_1 if name_3} for [name_1, name_0, name_3, name_2, name_5] in [name_3, name_5, name_3] if [name_5, name_5, name_4, name_4, name_0] if f"{name_3!r:}b'some bytes'True" if name_5(name_5, name_2=name_1, name_1=name_4, **name_0, **name_0) if name_5 * name_0 if {name_1: name_2 for name_5 in name_2 for name_1 in name_0 for name_2 in name_4 for name_2 in name_0} for [name_3] in {name_0 for name_2 in name_5} if name_3.name_3 if (name_3 if name_3 else name_5) if {name_5: name_2 for name_2 in name_2} if {name_1: name_4 for name_2 in name_5 for name_1 in name_2 for name_5 in name_1 for name_0 in name_1 for name_0 in name_0}]
@{() > (name_5 or name_3) is {*()} <= [] >= name_4.name_0 <= () >= {name_2 for name_4 in name_0}: (name_1 async for name_1 in name_0) if name_5 & name_5 else () for [name_5, name_5, name_4, name_3] in (name_4, name_3, name_2, name_1) if {name_5: name_2} if {name_5: name_2, name_0: name_1, name_2: name_3} for [] in ~name_5 if (name_3, name_4, name_4, name_2) if name_1.name_2 if name_1(name_2, name_5, name_0=name_3) if (name_5 if name_3 else name_2)}
@((name_5 for name_1 in name_2) % [])[(await name_0 async for name_5 in name_3 if name_1 if name_1 if name_5)]
@[{b'some bytes' for name_0 in name_1 if name_1 for name_3 in name_2 for name_5 in name_0 if name_0 if name_4 for name_3 in name_4 if name_2 if name_5 for name_0 in name_0 if name_2 if name_2 if name_4 if name_5} for name_3.name_2 in [name_5 for name_3 in name_0 for name_0 in name_0 for name_2 in name_0 for name_4 in name_0 for name_1 in name_1 for name_5 in name_3] for name_2 in (name_1 async for name_2 in name_5 for name_1 in name_0) if f'''b'\\'"\\'\\'\\'"""{{}}\\\\\'b'\'''' if [name_2, name_4] for () in {name_3: name_1 for name_3 in name_1 for name_0 in name_1 for name_1 in name_5 for name_5 in name_4 for name_1 in name_1} if f'' if name_2 if {name_2 for name_5 in name_5 for name_4 in name_0 for name_0 in name_0 for name_5 in name_0 for name_3 in name_5 for name_1 in name_2} if [name_0, name_4, name_4]]
@f"some const text15.120602616419072{(lambda *name_3, **name_4: name_5)!a:}b'some bytes'"
class name_4[**name_5](f'', [(lambda: name_2) >> {*()} for name_2 in [name_4] if {name_5: name_4} if 11.659120882067544 for name_5 in {name_2 for name_3 in name_2 for name_1 in name_0} for name_4[name_2] in name_2 - name_1 if name_4 is not name_2 > name_5 >= name_5 >= name_2 == name_5 if name_3 ** name_4 for [name_5, name_0, name_3, name_4] in {*()} if [name_4, name_1]], name_0):
pass
try:
(name_5 async for name_1 in name_1)
name_1 != name_3
except* not name_5:
name_4
from . import name_2
name_3
except* name_0.name_5 as name_4:
name_3 = name_2 # type: ignore
name_0
name_3 /= name_3
name_1
name_4
except* '' as name_2:
pass
name_4
else:
f''
finally:
[]
b'\'"\'\'\'"""{}\\'
name_0()
{name_5.name_0: name_0 if name_1 else name_1 for name_2 in name_3}
(name_0 := (+name_1))
import name_2, name_0 as name_4, name_1, name_0
({await name_5 for name_1 in name_5 if name_4 if name_1 if name_4 for name_5 in name_1 for name_1 in name_1 if name_5 for name_3 in name_4 if name_0 for name_4 in name_2 if name_1 if name_0 for name_4 in name_1 if name_2 if name_5 if name_1 if name_4 if name_3} async for () in 'some const text' if name_4.name_1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment