-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Labels
T: bugSomething isn't workingSomething isn't working
Description
Describe the bug
The following code can not be parsed/formatted by black:
with (name_2, name_2) as name_2:
pass
black reported the following error:
> black -l 100 -t py312 bug.py
error: cannot format bug.py: INTERNAL ERROR: Black 25.1.1.dev21+g944a38e.d20250317 on Python (CPython) 3
.12.6 produced code that is not equivalent to the source. Please report a bug on https://github.com/psf
/black/issues. This diff might be helpful: /tmp/blk_umh51eiz.log
Oh no! 💥 💔 💥
1 file failed to reformat.
the reported diff in /tmp/blk_umh51eiz.log is:
--- src
+++ dst
@@ -5,30 +5,29 @@
Pass(
) # /Pass
items=
withitem(
context_expr=
- Tuple(
+ Name(
ctx=
Load(
) # /Load
- elts=
- Name(
- ctx=
- Load(
- ) # /Load
- id=
- 'name_2', # str
- ) # /Name
- Name(
- ctx=
- Load(
- ) # /Load
- id=
- 'name_2', # str
- ) # /Name
- ) # /Tuple
+ id=
+ 'name_2', # str
+ ) # /Name
+ optional_vars=
+ None, # NoneType
+ ) # /withitem
+ withitem(
+ context_expr=
+ Name(
+ ctx=
+ Load(
+ ) # /Load
+ id=
+ 'name_2', # str
+ ) # /Name
optional_vars=
Name(
ctx=
Store(
) # /Store
but it can be parsed by cpython:
from ast import parse
parse(
'with (name_2, name_2) as name_2:\n'
' pass\n'
)
result:
returncode: 0
Environment
- Black's version: current main (6144c46)
- OS and Python version: Linux/Python 3.12.6 (main, Sep 9 2024, 22:11:19) [Clang 18.1.8 ]
Additional context
The bug was found by pysource-codegen (see #3908)
The above problem description was created from a script, let me know if you think it can be improved.
Metadata
Metadata
Assignees
Labels
T: bugSomething isn't workingSomething isn't working