# Buggy code
def append_leaves(new_line: Line, old_line: Line, leaves: List[Leaf]) -> None:
    """
    Append leaves (taken from @old_line) to @new_line, making sure to fix the
    underlying Node structure where appropriate.

    All of the leaves in @leaves are duplicated. The duplicates are then
    appended to @new_line and used to replace their originals in the underlying
    Node structure. Any comments attached to the old leaves are reattached to
    the new leaves.

    Pre-conditions:
        set(@leaves) is a subset of set(@old_line.leaves).
    """
    for old_leaf in leaves:
        new_leaf = Leaf(old_leaf.type, old_leaf.value)
        replace_child(old_leaf, new_leaf)
        new_line.append(new_leaf)

        for comment_leaf in old_line.comments_after(old_leaf):
            new_line.append(comment_leaf, preformatted=True)


# Traceback (KeyError)
$ cat author.py
class xxxxxxxxxxxxxxxxxxxxx(xxxx.xxxxxxxxxxxxx):
def xxxxxxx_xxxxxx(xxxx):
assert xxxxxxx_xxxx in [
x.xxxxx.xxxxxx.xxxxx.xxxxxx,
x.xxxxx.xxxxxx.xxxxx.xxxx,
], ("xxxxxxxxxxx xxxxxxx xxxx (xxxxxx xxxx) %x xxx xxxxx" % xxxxxxx_xxxx)
$ black -v author.py
Using configuration from /Users/jelle/py/black/pyproject.toml.
Traceback (most recent call last):
File "/Users/jelle/py/black/src/black/__init__.py", line 648, in reformat_one
if changed is not Changed.CACHED and format_file_in_place(
File "/Users/jelle/py/black/src/black/__init__.py", line 791, in format_file_in_place
dst_contents = format_file_contents(src_contents, fast=fast, mode=mode)
File "/Users/jelle/py/black/src/black/__init__.py", line 912, in format_file_contents
dst_contents = format_str(src_contents, mode=mode)
File "/Users/jelle/py/black/src/black/__init__.py", line 977, in format_str
for line in transform_line(
File "/Users/jelle/py/black/src/black/__init__.py", line 2731, in transform_line
result.extend(
File "/Users/jelle/py/black/src/black/__init__.py", line 2725, in transform_line
for transformed_line in transform(line, features):
File "/Users/jelle/py/black/src/black/__init__.py", line 2834, in __call__
for line_result in self.do_transform(line, string_idx):
File "/Users/jelle/py/black/src/black/__init__.py", line 3315, in do_transform
append_leaves(new_line, line, LL[: string_idx - 1])
File "/Users/jelle/py/black/src/black/__init__.py", line 4601, in append_leaves
new_line.append(new_leaf)
File "/Users/jelle/py/black/src/black/__init__.py", line 1425, in append
self.bracket_tracker.mark(leaf)
File "/Users/jelle/py/black/src/black/__init__.py", line 1291, in mark
opening_bracket = self.bracket_match.pop((self.depth, leaf.type))
KeyError: (-1, 10)
error: cannot format author.py: (-1, 10)
Oh no! 💥 💔 💥
1 file failed to reformat.

# Fixed code
def append_leaves(
    new_line: Line, old_line: Line, leaves: List[Leaf], preformatted: bool = False
) -> None:
    """
    Append leaves (taken from @old_line) to @new_line, making sure to fix the
    underlying Node structure where appropriate.

    All of the leaves in @leaves are duplicated. The duplicates are then
    appended to @new_line and used to replace their originals in the underlying
    Node structure. Any comments attached to the old leaves are reattached to
    the new leaves.

    Pre-conditions:
        set(@leaves) is a subset of set(@old_line.leaves).
    """
    for old_leaf in leaves:
        new_leaf = Leaf(old_leaf.type, old_leaf.value)
        replace_child(old_leaf, new_leaf)
        new_line.append(new_leaf, preformatted=preformatted)

        for comment_leaf in old_line.comments_after(old_leaf):
            new_line.append(comment_leaf, preformatted=True)