]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-122300: Preserve AST nodes for format specifiers with single elements ...
authorPablo Galindo Salgado <Pablogsal@gmail.com>
Sat, 27 Jul 2024 19:20:28 +0000 (20:20 +0100)
committerGitHub <noreply@github.com>
Sat, 27 Jul 2024 19:20:28 +0000 (19:20 +0000)
(cherry picked from commit db2d8b6db1b56c2bd3802b86f9b76da33e8898d7)

Doc/library/ast.rst
Lib/test/test_ast.py
Misc/NEWS.d/next/Core and Builtins/2024-07-26-14-05-51.gh-issue-122300.SVIF-l.rst [new file with mode: 0644]
Parser/action_helpers.c

index e06be12a2991968f0dc5c726e847731de16c0588..28efafc6c46475733ca35713b535834f3c24c28f 100644 (file)
@@ -302,7 +302,9 @@ Literals
                                 Name(id='a', ctx=Load())],
                             keywords=[]),
                         conversion=-1,
-                        format_spec=Constant(value='.3'))]))
+                        format_spec=JoinedStr(
+                            values=[
+                                Constant(value='.3')]))]))
 
 
 .. class:: List(elts, ctx)
index 37b3aeed918439003a06a91043468d26f4c0f8cf..428a6ee0d51f4ee2789a0861017127675db70f3b 100644 (file)
@@ -3046,2833 +3046,135 @@ def main():
 
 #### EVERYTHING BELOW IS GENERATED BY python Lib/test/test_ast.py -g  #####
 exec_results = [
-    ("Module", [("Expr", (1, 0, 1, 4), ("Constant", (1, 0, 1, 4), None, None))], []),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 18),
-                ("Constant", (1, 0, 1, 18), "module docstring", None),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 13),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 9, 1, 13))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 29),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [
-                    (
-                        "Expr",
-                        (1, 9, 1, 29),
-                        ("Constant", (1, 9, 1, 29), "function docstring", None),
-                    )
-                ],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 14),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    None,
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 10, 1, 14))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 16),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    None,
-                    [],
-                    [],
-                    None,
-                    [("Constant", (1, 8, 1, 9), 0, None)],
-                ),
-                [("Pass", (1, 12, 1, 16))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 18),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [],
-                    ("arg", (1, 7, 1, 11), "args", None, None),
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 14, 1, 18))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 23),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [],
-                    (
-                        "arg",
-                        (1, 7, 1, 16),
-                        "args",
-                        (
-                            "Starred",
-                            (1, 13, 1, 16),
-                            ("Name", (1, 14, 1, 16), "Ts", ("Load",)),
-                            ("Load",),
-                        ),
-                        None,
-                    ),
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 19, 1, 23))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 36),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [],
-                    (
-                        "arg",
-                        (1, 7, 1, 29),
-                        "args",
-                        (
-                            "Starred",
-                            (1, 13, 1, 29),
-                            (
-                                "Subscript",
-                                (1, 14, 1, 29),
-                                ("Name", (1, 14, 1, 19), "tuple", ("Load",)),
-                                (
-                                    "Tuple",
-                                    (1, 20, 1, 28),
-                                    [
-                                        ("Name", (1, 20, 1, 23), "int", ("Load",)),
-                                        ("Constant", (1, 25, 1, 28), Ellipsis, None),
-                                    ],
-                                    ("Load",),
-                                ),
-                                ("Load",),
-                            ),
-                            ("Load",),
-                        ),
-                        None,
-                    ),
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 32, 1, 36))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 36),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [],
-                    (
-                        "arg",
-                        (1, 7, 1, 29),
-                        "args",
-                        (
-                            "Starred",
-                            (1, 13, 1, 29),
-                            (
-                                "Subscript",
-                                (1, 14, 1, 29),
-                                ("Name", (1, 14, 1, 19), "tuple", ("Load",)),
-                                (
-                                    "Tuple",
-                                    (1, 20, 1, 28),
-                                    [
-                                        ("Name", (1, 20, 1, 23), "int", ("Load",)),
-                                        (
-                                            "Starred",
-                                            (1, 25, 1, 28),
-                                            ("Name", (1, 26, 1, 28), "Ts", ("Load",)),
-                                            ("Load",),
-                                        ),
-                                    ],
-                                    ("Load",),
-                                ),
-                                ("Load",),
-                            ),
-                            ("Load",),
-                        ),
-                        None,
-                    ),
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 32, 1, 36))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 21),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [],
-                    None,
-                    [],
-                    [],
-                    ("arg", (1, 8, 1, 14), "kwargs", None, None),
-                    [],
-                ),
-                [("Pass", (1, 17, 1, 21))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 71),
-                "f",
-                (
-                    "arguments",
-                    [],
-                    [
-                        ("arg", (1, 6, 1, 7), "a", None, None),
-                        ("arg", (1, 9, 1, 10), "b", None, None),
-                        ("arg", (1, 14, 1, 15), "c", None, None),
-                        ("arg", (1, 22, 1, 23), "d", None, None),
-                        ("arg", (1, 28, 1, 29), "e", None, None),
-                    ],
-                    ("arg", (1, 35, 1, 39), "args", None, None),
-                    [("arg", (1, 41, 1, 42), "f", None, None)],
-                    [("Constant", (1, 43, 1, 45), 42, None)],
-                    ("arg", (1, 49, 1, 55), "kwargs", None, None),
-                    [
-                        ("Constant", (1, 11, 1, 12), 1, None),
-                        ("Constant", (1, 16, 1, 20), None, None),
-                        ("List", (1, 24, 1, 26), [], ("Load",)),
-                        ("Dict", (1, 30, 1, 32), [], []),
-                    ],
-                ),
-                [
-                    (
-                        "Expr",
-                        (1, 58, 1, 71),
-                        ("Constant", (1, 58, 1, 71), "doc for f()", None),
-                    )
-                ],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 27),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 23, 1, 27))],
-                [],
-                (
-                    "Subscript",
-                    (1, 11, 1, 21),
-                    ("Name", (1, 11, 1, 16), "tuple", ("Load",)),
-                    (
-                        "Tuple",
-                        (1, 17, 1, 20),
-                        [
-                            (
-                                "Starred",
-                                (1, 17, 1, 20),
-                                ("Name", (1, 18, 1, 20), "Ts", ("Load",)),
-                                ("Load",),
-                            )
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                ),
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 32),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 28, 1, 32))],
-                [],
-                (
-                    "Subscript",
-                    (1, 11, 1, 26),
-                    ("Name", (1, 11, 1, 16), "tuple", ("Load",)),
-                    (
-                        "Tuple",
-                        (1, 17, 1, 25),
-                        [
-                            ("Name", (1, 17, 1, 20), "int", ("Load",)),
-                            (
-                                "Starred",
-                                (1, 22, 1, 25),
-                                ("Name", (1, 23, 1, 25), "Ts", ("Load",)),
-                                ("Load",),
-                            ),
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                ),
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 45),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 41, 1, 45))],
-                [],
-                (
-                    "Subscript",
-                    (1, 11, 1, 39),
-                    ("Name", (1, 11, 1, 16), "tuple", ("Load",)),
-                    (
-                        "Tuple",
-                        (1, 17, 1, 38),
-                        [
-                            ("Name", (1, 17, 1, 20), "int", ("Load",)),
-                            (
-                                "Starred",
-                                (1, 22, 1, 38),
-                                (
-                                    "Subscript",
-                                    (1, 23, 1, 38),
-                                    ("Name", (1, 23, 1, 28), "tuple", ("Load",)),
-                                    (
-                                        "Tuple",
-                                        (1, 29, 1, 37),
-                                        [
-                                            ("Name", (1, 29, 1, 32), "int", ("Load",)),
-                                            (
-                                                "Constant",
-                                                (1, 34, 1, 37),
-                                                Ellipsis,
-                                                None,
-                                            ),
-                                        ],
-                                        ("Load",),
-                                    ),
-                                    ("Load",),
-                                ),
-                                ("Load",),
-                            ),
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                ),
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [("ClassDef", (1, 0, 1, 12), "C", [], [], [("Pass", (1, 8, 1, 12))], [], [])],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (1, 0, 1, 32),
-                "C",
-                [],
-                [],
-                [
-                    (
-                        "Expr",
-                        (1, 9, 1, 32),
-                        ("Constant", (1, 9, 1, 32), "docstring for class C", None),
-                    )
-                ],
-                [],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (1, 0, 1, 21),
-                "C",
-                [("Name", (1, 8, 1, 14), "object", ("Load",))],
-                [],
-                [("Pass", (1, 17, 1, 21))],
-                [],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 16),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Return", (1, 8, 1, 16), ("Constant", (1, 15, 1, 16), 1, None))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    ("Module", [("Delete", (1, 0, 1, 5), [("Name", (1, 4, 1, 5), "v", ("Del",))])], []),
-    (
-        "Module",
-        [
-            (
-                "Assign",
-                (1, 0, 1, 5),
-                [("Name", (1, 0, 1, 1), "v", ("Store",))],
-                ("Constant", (1, 4, 1, 5), 1, None),
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Assign",
-                (1, 0, 1, 7),
-                [
-                    (
-                        "Tuple",
-                        (1, 0, 1, 3),
-                        [
-                            ("Name", (1, 0, 1, 1), "a", ("Store",)),
-                            ("Name", (1, 2, 1, 3), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    )
-                ],
-                ("Name", (1, 6, 1, 7), "c", ("Load",)),
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Assign",
-                (1, 0, 1, 9),
-                [
-                    (
-                        "Tuple",
-                        (1, 0, 1, 5),
-                        [
-                            ("Name", (1, 1, 1, 2), "a", ("Store",)),
-                            ("Name", (1, 3, 1, 4), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    )
-                ],
-                ("Name", (1, 8, 1, 9), "c", ("Load",)),
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Assign",
-                (1, 0, 1, 9),
-                [
-                    (
-                        "List",
-                        (1, 0, 1, 5),
-                        [
-                            ("Name", (1, 1, 1, 2), "a", ("Store",)),
-                            ("Name", (1, 3, 1, 4), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    )
-                ],
-                ("Name", (1, 8, 1, 9), "c", ("Load",)),
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AnnAssign",
-                (1, 0, 1, 13),
-                ("Name", (1, 0, 1, 1), "x", ("Store",)),
-                (
-                    "Subscript",
-                    (1, 3, 1, 13),
-                    ("Name", (1, 3, 1, 8), "tuple", ("Load",)),
-                    (
-                        "Tuple",
-                        (1, 9, 1, 12),
-                        [
-                            (
-                                "Starred",
-                                (1, 9, 1, 12),
-                                ("Name", (1, 10, 1, 12), "Ts", ("Load",)),
-                                ("Load",),
-                            )
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                ),
-                None,
-                1,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AnnAssign",
-                (1, 0, 1, 18),
-                ("Name", (1, 0, 1, 1), "x", ("Store",)),
-                (
-                    "Subscript",
-                    (1, 3, 1, 18),
-                    ("Name", (1, 3, 1, 8), "tuple", ("Load",)),
-                    (
-                        "Tuple",
-                        (1, 9, 1, 17),
-                        [
-                            ("Name", (1, 9, 1, 12), "int", ("Load",)),
-                            (
-                                "Starred",
-                                (1, 14, 1, 17),
-                                ("Name", (1, 15, 1, 17), "Ts", ("Load",)),
-                                ("Load",),
-                            ),
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                ),
-                None,
-                1,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AnnAssign",
-                (1, 0, 1, 31),
-                ("Name", (1, 0, 1, 1), "x", ("Store",)),
-                (
-                    "Subscript",
-                    (1, 3, 1, 31),
-                    ("Name", (1, 3, 1, 8), "tuple", ("Load",)),
-                    (
-                        "Tuple",
-                        (1, 9, 1, 30),
-                        [
-                            ("Name", (1, 9, 1, 12), "int", ("Load",)),
-                            (
-                                "Starred",
-                                (1, 14, 1, 30),
-                                (
-                                    "Subscript",
-                                    (1, 15, 1, 30),
-                                    ("Name", (1, 15, 1, 20), "tuple", ("Load",)),
-                                    (
-                                        "Tuple",
-                                        (1, 21, 1, 29),
-                                        [
-                                            ("Name", (1, 21, 1, 24), "str", ("Load",)),
-                                            (
-                                                "Constant",
-                                                (1, 26, 1, 29),
-                                                Ellipsis,
-                                                None,
-                                            ),
-                                        ],
-                                        ("Load",),
-                                    ),
-                                    ("Load",),
-                                ),
-                                ("Load",),
-                            ),
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                ),
-                None,
-                1,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AugAssign",
-                (1, 0, 1, 6),
-                ("Name", (1, 0, 1, 1), "v", ("Store",)),
-                ("Add",),
-                ("Constant", (1, 5, 1, 6), 1, None),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "For",
-                (1, 0, 1, 15),
-                ("Name", (1, 4, 1, 5), "v", ("Store",)),
-                ("Name", (1, 9, 1, 10), "v", ("Load",)),
-                [("Pass", (1, 11, 1, 15))],
-                [],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "While",
-                (1, 0, 1, 12),
-                ("Name", (1, 6, 1, 7), "v", ("Load",)),
-                [("Pass", (1, 8, 1, 12))],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "If",
-                (1, 0, 1, 9),
-                ("Name", (1, 3, 1, 4), "v", ("Load",)),
-                [("Pass", (1, 5, 1, 9))],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "If",
-                (1, 0, 4, 6),
-                ("Name", (1, 3, 1, 4), "a", ("Load",)),
-                [("Pass", (2, 2, 2, 6))],
-                [
-                    (
-                        "If",
-                        (3, 0, 4, 6),
-                        ("Name", (3, 5, 3, 6), "b", ("Load",)),
-                        [("Pass", (4, 2, 4, 6))],
-                        [],
-                    )
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "If",
-                (1, 0, 6, 6),
-                ("Name", (1, 3, 1, 4), "a", ("Load",)),
-                [("Pass", (2, 2, 2, 6))],
-                [
-                    (
-                        "If",
-                        (3, 0, 6, 6),
-                        ("Name", (3, 5, 3, 6), "b", ("Load",)),
-                        [("Pass", (4, 2, 4, 6))],
-                        [("Pass", (6, 2, 6, 6))],
-                    )
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "With",
-                (1, 0, 1, 17),
-                [
-                    (
-                        "withitem",
-                        ("Name", (1, 5, 1, 6), "x", ("Load",)),
-                        ("Name", (1, 10, 1, 11), "y", ("Store",)),
-                    )
-                ],
-                [("Pass", (1, 13, 1, 17))],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "With",
-                (1, 0, 1, 25),
-                [
-                    (
-                        "withitem",
-                        ("Name", (1, 5, 1, 6), "x", ("Load",)),
-                        ("Name", (1, 10, 1, 11), "y", ("Store",)),
-                    ),
-                    (
-                        "withitem",
-                        ("Name", (1, 13, 1, 14), "z", ("Load",)),
-                        ("Name", (1, 18, 1, 19), "q", ("Store",)),
-                    ),
-                ],
-                [("Pass", (1, 21, 1, 25))],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Raise",
-                (1, 0, 1, 25),
-                (
-                    "Call",
-                    (1, 6, 1, 25),
-                    ("Name", (1, 6, 1, 15), "Exception", ("Load",)),
-                    [("Constant", (1, 16, 1, 24), "string", None)],
-                    [],
-                ),
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Try",
-                (1, 0, 4, 6),
-                [("Pass", (2, 2, 2, 6))],
-                [
-                    (
-                        "ExceptHandler",
-                        (3, 0, 4, 6),
-                        ("Name", (3, 7, 3, 16), "Exception", ("Load",)),
-                        None,
-                        [("Pass", (4, 2, 4, 6))],
-                    )
-                ],
-                [],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Try",
-                (1, 0, 4, 6),
-                [("Pass", (2, 2, 2, 6))],
-                [],
-                [],
-                [("Pass", (4, 2, 4, 6))],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "TryStar",
-                (1, 0, 4, 6),
-                [("Pass", (2, 2, 2, 6))],
-                [
-                    (
-                        "ExceptHandler",
-                        (3, 0, 4, 6),
-                        ("Name", (3, 8, 3, 17), "Exception", ("Load",)),
-                        None,
-                        [("Pass", (4, 2, 4, 6))],
-                    )
-                ],
-                [],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [("Assert", (1, 0, 1, 8), ("Name", (1, 7, 1, 8), "v", ("Load",)), None)],
-        [],
-    ),
-    (
-        "Module",
-        [("Import", (1, 0, 1, 10), [("alias", (1, 7, 1, 10), "sys", None)])],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ImportFrom",
-                (1, 0, 1, 17),
-                "sys",
-                [("alias", (1, 16, 1, 17), "v", None)],
-                0,
-            )
-        ],
-        [],
-    ),
-    ("Module", [("Global", (1, 0, 1, 8), ["v"])], []),
-    ("Module", [("Expr", (1, 0, 1, 1), ("Constant", (1, 0, 1, 1), 1, None))], []),
-    ("Module", [("Pass", (1, 0, 1, 4))], []),
-    (
-        "Module",
-        [
-            (
-                "For",
-                (1, 0, 1, 16),
-                ("Name", (1, 4, 1, 5), "v", ("Store",)),
-                ("Name", (1, 9, 1, 10), "v", ("Load",)),
-                [("Break", (1, 11, 1, 16))],
-                [],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "For",
-                (1, 0, 1, 19),
-                ("Name", (1, 4, 1, 5), "v", ("Store",)),
-                ("Name", (1, 9, 1, 10), "v", ("Load",)),
-                [("Continue", (1, 11, 1, 19))],
-                [],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "For",
-                (1, 0, 1, 18),
-                (
-                    "Tuple",
-                    (1, 4, 1, 7),
-                    [
-                        ("Name", (1, 4, 1, 5), "a", ("Store",)),
-                        ("Name", (1, 6, 1, 7), "b", ("Store",)),
-                    ],
-                    ("Store",),
-                ),
-                ("Name", (1, 11, 1, 12), "c", ("Load",)),
-                [("Pass", (1, 14, 1, 18))],
-                [],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "For",
-                (1, 0, 1, 20),
-                (
-                    "Tuple",
-                    (1, 4, 1, 9),
-                    [
-                        ("Name", (1, 5, 1, 6), "a", ("Store",)),
-                        ("Name", (1, 7, 1, 8), "b", ("Store",)),
-                    ],
-                    ("Store",),
-                ),
-                ("Name", (1, 13, 1, 14), "c", ("Load",)),
-                [("Pass", (1, 16, 1, 20))],
-                [],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "For",
-                (1, 0, 1, 20),
-                (
-                    "List",
-                    (1, 4, 1, 9),
-                    [
-                        ("Name", (1, 5, 1, 6), "a", ("Store",)),
-                        ("Name", (1, 7, 1, 8), "b", ("Store",)),
-                    ],
-                    ("Store",),
-                ),
-                ("Name", (1, 13, 1, 14), "c", ("Load",)),
-                [("Pass", (1, 16, 1, 20))],
-                [],
-                None,
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 11, 5),
-                (
-                    "GeneratorExp",
-                    (1, 0, 11, 5),
-                    (
-                        "Tuple",
-                        (2, 4, 6, 5),
-                        [
-                            ("Name", (3, 4, 3, 6), "Aa", ("Load",)),
-                            ("Name", (5, 7, 5, 9), "Bb", ("Load",)),
-                        ],
-                        ("Load",),
-                    ),
-                    [
-                        (
-                            "comprehension",
-                            (
-                                "Tuple",
-                                (8, 4, 10, 6),
-                                [
-                                    ("Name", (8, 4, 8, 6), "Aa", ("Store",)),
-                                    ("Name", (10, 4, 10, 6), "Bb", ("Store",)),
-                                ],
-                                ("Store",),
-                            ),
-                            ("Name", (10, 10, 10, 12), "Cc", ("Load",)),
-                            [],
-                            0,
-                        )
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 34),
-                (
-                    "DictComp",
-                    (1, 0, 1, 34),
-                    ("Name", (1, 1, 1, 2), "a", ("Load",)),
-                    ("Name", (1, 5, 1, 6), "b", ("Load",)),
-                    [
-                        (
-                            "comprehension",
-                            ("Name", (1, 11, 1, 12), "w", ("Store",)),
-                            ("Name", (1, 16, 1, 17), "x", ("Load",)),
-                            [],
-                            0,
-                        ),
-                        (
-                            "comprehension",
-                            ("Name", (1, 22, 1, 23), "m", ("Store",)),
-                            ("Name", (1, 27, 1, 28), "p", ("Load",)),
-                            [("Name", (1, 32, 1, 33), "g", ("Load",))],
-                            0,
-                        ),
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 20),
-                (
-                    "DictComp",
-                    (1, 0, 1, 20),
-                    ("Name", (1, 1, 1, 2), "a", ("Load",)),
-                    ("Name", (1, 5, 1, 6), "b", ("Load",)),
-                    [
-                        (
-                            "comprehension",
-                            (
-                                "Tuple",
-                                (1, 11, 1, 14),
-                                [
-                                    ("Name", (1, 11, 1, 12), "v", ("Store",)),
-                                    ("Name", (1, 13, 1, 14), "w", ("Store",)),
-                                ],
-                                ("Store",),
-                            ),
-                            ("Name", (1, 18, 1, 19), "x", ("Load",)),
-                            [],
-                            0,
-                        )
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 19),
-                (
-                    "SetComp",
-                    (1, 0, 1, 19),
-                    ("Name", (1, 1, 1, 2), "r", ("Load",)),
-                    [
-                        (
-                            "comprehension",
-                            ("Name", (1, 7, 1, 8), "l", ("Store",)),
-                            ("Name", (1, 12, 1, 13), "x", ("Load",)),
-                            [("Name", (1, 17, 1, 18), "g", ("Load",))],
-                            0,
-                        )
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 16),
-                (
-                    "SetComp",
-                    (1, 0, 1, 16),
-                    ("Name", (1, 1, 1, 2), "r", ("Load",)),
-                    [
-                        (
-                            "comprehension",
-                            (
-                                "Tuple",
-                                (1, 7, 1, 10),
-                                [
-                                    ("Name", (1, 7, 1, 8), "l", ("Store",)),
-                                    ("Name", (1, 9, 1, 10), "m", ("Store",)),
-                                ],
-                                ("Store",),
-                            ),
-                            ("Name", (1, 14, 1, 15), "x", ("Load",)),
-                            [],
-                            0,
-                        )
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AsyncFunctionDef",
-                (1, 0, 3, 18),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [
-                    (
-                        "Expr",
-                        (2, 1, 2, 17),
-                        ("Constant", (2, 1, 2, 17), "async function", None),
-                    ),
-                    (
-                        "Expr",
-                        (3, 1, 3, 18),
-                        (
-                            "Await",
-                            (3, 1, 3, 18),
-                            (
-                                "Call",
-                                (3, 7, 3, 18),
-                                ("Name", (3, 7, 3, 16), "something", ("Load",)),
-                                [],
-                                [],
-                            ),
-                        ),
-                    ),
-                ],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AsyncFunctionDef",
-                (1, 0, 3, 8),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [
-                    (
-                        "AsyncFor",
-                        (2, 1, 3, 8),
-                        ("Name", (2, 11, 2, 12), "e", ("Store",)),
-                        ("Name", (2, 16, 2, 17), "i", ("Load",)),
-                        [
-                            (
-                                "Expr",
-                                (2, 19, 2, 20),
-                                ("Constant", (2, 19, 2, 20), 1, None),
-                            )
-                        ],
-                        [("Expr", (3, 7, 3, 8), ("Constant", (3, 7, 3, 8), 2, None))],
-                        None,
-                    )
-                ],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AsyncFunctionDef",
-                (1, 0, 2, 21),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [
-                    (
-                        "AsyncWith",
-                        (2, 1, 2, 21),
-                        [
-                            (
-                                "withitem",
-                                ("Name", (2, 12, 2, 13), "a", ("Load",)),
-                                ("Name", (2, 17, 2, 18), "b", ("Store",)),
-                            )
-                        ],
-                        [
-                            (
-                                "Expr",
-                                (2, 20, 2, 21),
-                                ("Constant", (2, 20, 2, 21), 1, None),
-                            )
-                        ],
-                        None,
-                    )
-                ],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 14),
-                (
-                    "Dict",
-                    (1, 0, 1, 14),
-                    [None, ("Constant", (1, 10, 1, 11), 2, None)],
-                    [
-                        (
-                            "Dict",
-                            (1, 3, 1, 8),
-                            [("Constant", (1, 4, 1, 5), 1, None)],
-                            [("Constant", (1, 6, 1, 7), 2, None)],
-                        ),
-                        ("Constant", (1, 12, 1, 13), 3, None),
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 12),
-                (
-                    "Set",
-                    (1, 0, 1, 12),
-                    [
-                        (
-                            "Starred",
-                            (1, 1, 1, 8),
-                            (
-                                "Set",
-                                (1, 2, 1, 8),
-                                [
-                                    ("Constant", (1, 3, 1, 4), 1, None),
-                                    ("Constant", (1, 6, 1, 7), 2, None),
-                                ],
-                            ),
-                            ("Load",),
-                        ),
-                        ("Constant", (1, 10, 1, 11), 3, None),
-                    ],
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AsyncFunctionDef",
-                (1, 0, 2, 21),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [
-                    (
-                        "Expr",
-                        (2, 1, 2, 21),
-                        (
-                            "ListComp",
-                            (2, 1, 2, 21),
-                            ("Name", (2, 2, 2, 3), "i", ("Load",)),
-                            [
-                                (
-                                    "comprehension",
-                                    ("Name", (2, 14, 2, 15), "b", ("Store",)),
-                                    ("Name", (2, 19, 2, 20), "c", ("Load",)),
-                                    [],
-                                    1,
-                                )
-                            ],
-                        ),
-                    )
-                ],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (4, 0, 4, 13),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (4, 9, 4, 13))],
-                [
-                    ("Name", (1, 1, 1, 6), "deco1", ("Load",)),
-                    (
-                        "Call",
-                        (2, 1, 2, 8),
-                        ("Name", (2, 1, 2, 6), "deco2", ("Load",)),
-                        [],
-                        [],
-                    ),
-                    (
-                        "Call",
-                        (3, 1, 3, 9),
-                        ("Name", (3, 1, 3, 6), "deco3", ("Load",)),
-                        [("Constant", (3, 7, 3, 8), 1, None)],
-                        [],
-                    ),
-                ],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "AsyncFunctionDef",
-                (4, 0, 4, 19),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (4, 15, 4, 19))],
-                [
-                    ("Name", (1, 1, 1, 6), "deco1", ("Load",)),
-                    (
-                        "Call",
-                        (2, 1, 2, 8),
-                        ("Name", (2, 1, 2, 6), "deco2", ("Load",)),
-                        [],
-                        [],
-                    ),
-                    (
-                        "Call",
-                        (3, 1, 3, 9),
-                        ("Name", (3, 1, 3, 6), "deco3", ("Load",)),
-                        [("Constant", (3, 7, 3, 8), 1, None)],
-                        [],
-                    ),
-                ],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (4, 0, 4, 13),
-                "C",
-                [],
-                [],
-                [("Pass", (4, 9, 4, 13))],
-                [
-                    ("Name", (1, 1, 1, 6), "deco1", ("Load",)),
-                    (
-                        "Call",
-                        (2, 1, 2, 8),
-                        ("Name", (2, 1, 2, 6), "deco2", ("Load",)),
-                        [],
-                        [],
-                    ),
-                    (
-                        "Call",
-                        (3, 1, 3, 9),
-                        ("Name", (3, 1, 3, 6), "deco3", ("Load",)),
-                        [("Constant", (3, 7, 3, 8), 1, None)],
-                        [],
-                    ),
-                ],
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (2, 0, 2, 13),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (2, 9, 2, 13))],
-                [
-                    (
-                        "Call",
-                        (1, 1, 1, 19),
-                        ("Name", (1, 1, 1, 5), "deco", ("Load",)),
-                        [
-                            (
-                                "GeneratorExp",
-                                (1, 5, 1, 19),
-                                ("Name", (1, 6, 1, 7), "a", ("Load",)),
-                                [
-                                    (
-                                        "comprehension",
-                                        ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                                        ("Name", (1, 17, 1, 18), "b", ("Load",)),
-                                        [],
-                                        0,
-                                    )
-                                ],
-                            )
-                        ],
-                        [],
-                    )
-                ],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (2, 0, 2, 13),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (2, 9, 2, 13))],
-                [
-                    (
-                        "Attribute",
-                        (1, 1, 1, 6),
-                        (
-                            "Attribute",
-                            (1, 1, 1, 4),
-                            ("Name", (1, 1, 1, 2), "a", ("Load",)),
-                            "b",
-                            ("Load",),
-                        ),
-                        "c",
-                        ("Load",),
-                    )
-                ],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 8),
-                (
-                    "NamedExpr",
-                    (1, 1, 1, 7),
-                    ("Name", (1, 1, 1, 2), "a", ("Store",)),
-                    ("Constant", (1, 6, 1, 7), 1, None),
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 18),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [],
-                    None,
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 14, 1, 18))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 26),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [
-                        ("arg", (1, 12, 1, 13), "c", None, None),
-                        ("arg", (1, 15, 1, 16), "d", None, None),
-                        ("arg", (1, 18, 1, 19), "e", None, None),
-                    ],
-                    None,
-                    [],
-                    [],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 22, 1, 26))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 29),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [("arg", (1, 12, 1, 13), "c", None, None)],
-                    None,
-                    [
-                        ("arg", (1, 18, 1, 19), "d", None, None),
-                        ("arg", (1, 21, 1, 22), "e", None, None),
-                    ],
-                    [None, None],
-                    None,
-                    [],
-                ),
-                [("Pass", (1, 25, 1, 29))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 39),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [("arg", (1, 12, 1, 13), "c", None, None)],
-                    None,
-                    [
-                        ("arg", (1, 18, 1, 19), "d", None, None),
-                        ("arg", (1, 21, 1, 22), "e", None, None),
-                    ],
-                    [None, None],
-                    ("arg", (1, 26, 1, 32), "kwargs", None, None),
-                    [],
-                ),
-                [("Pass", (1, 35, 1, 39))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 20),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [],
-                    None,
-                    [],
-                    [],
-                    None,
-                    [("Constant", (1, 8, 1, 9), 1, None)],
-                ),
-                [("Pass", (1, 16, 1, 20))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 29),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [
-                        ("arg", (1, 14, 1, 15), "b", None, None),
-                        ("arg", (1, 19, 1, 20), "c", None, None),
-                    ],
-                    None,
-                    [],
-                    [],
-                    None,
-                    [
-                        ("Constant", (1, 8, 1, 9), 1, None),
-                        ("Constant", (1, 16, 1, 17), 2, None),
-                        ("Constant", (1, 21, 1, 22), 4, None),
-                    ],
-                ),
-                [("Pass", (1, 25, 1, 29))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 32),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [("arg", (1, 14, 1, 15), "b", None, None)],
-                    None,
-                    [("arg", (1, 22, 1, 23), "c", None, None)],
-                    [("Constant", (1, 24, 1, 25), 4, None)],
-                    None,
-                    [
-                        ("Constant", (1, 8, 1, 9), 1, None),
-                        ("Constant", (1, 16, 1, 17), 2, None),
-                    ],
-                ),
-                [("Pass", (1, 28, 1, 32))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 30),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [("arg", (1, 14, 1, 15), "b", None, None)],
-                    None,
-                    [("arg", (1, 22, 1, 23), "c", None, None)],
-                    [None],
-                    None,
-                    [
-                        ("Constant", (1, 8, 1, 9), 1, None),
-                        ("Constant", (1, 16, 1, 17), 2, None),
-                    ],
-                ),
-                [("Pass", (1, 26, 1, 30))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 42),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [("arg", (1, 14, 1, 15), "b", None, None)],
-                    None,
-                    [("arg", (1, 22, 1, 23), "c", None, None)],
-                    [("Constant", (1, 24, 1, 25), 4, None)],
-                    ("arg", (1, 29, 1, 35), "kwargs", None, None),
-                    [
-                        ("Constant", (1, 8, 1, 9), 1, None),
-                        ("Constant", (1, 16, 1, 17), 2, None),
-                    ],
-                ),
-                [("Pass", (1, 38, 1, 42))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 40),
-                "f",
-                (
-                    "arguments",
-                    [("arg", (1, 6, 1, 7), "a", None, None)],
-                    [("arg", (1, 14, 1, 15), "b", None, None)],
-                    None,
-                    [("arg", (1, 22, 1, 23), "c", None, None)],
-                    [None],
-                    ("arg", (1, 27, 1, 33), "kwargs", None, None),
-                    [
-                        ("Constant", (1, 8, 1, 9), 1, None),
-                        ("Constant", (1, 16, 1, 17), 2, None),
-                    ],
-                ),
-                [("Pass", (1, 36, 1, 40))],
-                [],
-                None,
-                None,
-                [],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "TypeAlias",
-                (1, 0, 1, 12),
-                ("Name", (1, 5, 1, 6), "X", ("Store",)),
-                [],
-                ("Name", (1, 9, 1, 12), "int", ("Load",)),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "TypeAlias",
-                (1, 0, 1, 15),
-                ("Name", (1, 5, 1, 6), "X", ("Store",)),
-                [("TypeVar", (1, 7, 1, 8), "T", None)],
-                ("Name", (1, 12, 1, 15), "int", ("Load",)),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "TypeAlias",
-                (1, 0, 1, 32),
-                ("Name", (1, 5, 1, 6), "X", ("Store",)),
-                [
-                    ("TypeVar", (1, 7, 1, 8), "T", None),
-                    ("TypeVarTuple", (1, 10, 1, 13), "Ts"),
-                    ("ParamSpec", (1, 15, 1, 18), "P"),
-                ],
-                (
-                    "Tuple",
-                    (1, 22, 1, 32),
-                    [
-                        ("Name", (1, 23, 1, 24), "T", ("Load",)),
-                        ("Name", (1, 26, 1, 28), "Ts", ("Load",)),
-                        ("Name", (1, 30, 1, 31), "P", ("Load",)),
-                    ],
-                    ("Load",),
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "TypeAlias",
-                (1, 0, 1, 37),
-                ("Name", (1, 5, 1, 6), "X", ("Store",)),
-                [
-                    (
-                        "TypeVar",
-                        (1, 7, 1, 13),
-                        "T",
-                        ("Name", (1, 10, 1, 13), "int", ("Load",)),
-                    ),
-                    ("TypeVarTuple", (1, 15, 1, 18), "Ts"),
-                    ("ParamSpec", (1, 20, 1, 23), "P"),
-                ],
-                (
-                    "Tuple",
-                    (1, 27, 1, 37),
-                    [
-                        ("Name", (1, 28, 1, 29), "T", ("Load",)),
-                        ("Name", (1, 31, 1, 33), "Ts", ("Load",)),
-                        ("Name", (1, 35, 1, 36), "P", ("Load",)),
-                    ],
-                    ("Load",),
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "TypeAlias",
-                (1, 0, 1, 44),
-                ("Name", (1, 5, 1, 6), "X", ("Store",)),
-                [
-                    (
-                        "TypeVar",
-                        (1, 7, 1, 20),
-                        "T",
-                        (
-                            "Tuple",
-                            (1, 10, 1, 20),
-                            [
-                                ("Name", (1, 11, 1, 14), "int", ("Load",)),
-                                ("Name", (1, 16, 1, 19), "str", ("Load",)),
-                            ],
-                            ("Load",),
-                        ),
-                    ),
-                    ("TypeVarTuple", (1, 22, 1, 25), "Ts"),
-                    ("ParamSpec", (1, 27, 1, 30), "P"),
-                ],
-                (
-                    "Tuple",
-                    (1, 34, 1, 44),
-                    [
-                        ("Name", (1, 35, 1, 36), "T", ("Load",)),
-                        ("Name", (1, 38, 1, 40), "Ts", ("Load",)),
-                        ("Name", (1, 42, 1, 43), "P", ("Load",)),
-                    ],
-                    ("Load",),
-                ),
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (1, 0, 1, 16),
-                "X",
-                [],
-                [],
-                [("Pass", (1, 12, 1, 16))],
-                [],
-                [("TypeVar", (1, 8, 1, 9), "T", None)],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (1, 0, 1, 26),
-                "X",
-                [],
-                [],
-                [("Pass", (1, 22, 1, 26))],
-                [],
-                [
-                    ("TypeVar", (1, 8, 1, 9), "T", None),
-                    ("TypeVarTuple", (1, 11, 1, 14), "Ts"),
-                    ("ParamSpec", (1, 16, 1, 19), "P"),
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (1, 0, 1, 31),
-                "X",
-                [],
-                [],
-                [("Pass", (1, 27, 1, 31))],
-                [],
-                [
-                    (
-                        "TypeVar",
-                        (1, 8, 1, 14),
-                        "T",
-                        ("Name", (1, 11, 1, 14), "int", ("Load",)),
-                    ),
-                    ("TypeVarTuple", (1, 16, 1, 19), "Ts"),
-                    ("ParamSpec", (1, 21, 1, 24), "P"),
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "ClassDef",
-                (1, 0, 1, 38),
-                "X",
-                [],
-                [],
-                [("Pass", (1, 34, 1, 38))],
-                [],
-                [
-                    (
-                        "TypeVar",
-                        (1, 8, 1, 21),
-                        "T",
-                        (
-                            "Tuple",
-                            (1, 11, 1, 21),
-                            [
-                                ("Name", (1, 12, 1, 15), "int", ("Load",)),
-                                ("Name", (1, 17, 1, 20), "str", ("Load",)),
-                            ],
-                            ("Load",),
-                        ),
-                    ),
-                    ("TypeVarTuple", (1, 23, 1, 26), "Ts"),
-                    ("ParamSpec", (1, 28, 1, 31), "P"),
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 16),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 12, 1, 16))],
-                [],
-                None,
-                None,
-                [("TypeVar", (1, 6, 1, 7), "T", None)],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 26),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 22, 1, 26))],
-                [],
-                None,
-                None,
-                [
-                    ("TypeVar", (1, 6, 1, 7), "T", None),
-                    ("TypeVarTuple", (1, 9, 1, 12), "Ts"),
-                    ("ParamSpec", (1, 14, 1, 17), "P"),
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 31),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 27, 1, 31))],
-                [],
-                None,
-                None,
-                [
-                    (
-                        "TypeVar",
-                        (1, 6, 1, 12),
-                        "T",
-                        ("Name", (1, 9, 1, 12), "int", ("Load",)),
-                    ),
-                    ("TypeVarTuple", (1, 14, 1, 17), "Ts"),
-                    ("ParamSpec", (1, 19, 1, 22), "P"),
-                ],
-            )
-        ],
-        [],
-    ),
-    (
-        "Module",
-        [
-            (
-                "FunctionDef",
-                (1, 0, 1, 38),
-                "f",
-                ("arguments", [], [], None, [], [], None, []),
-                [("Pass", (1, 34, 1, 38))],
-                [],
-                None,
-                None,
-                [
-                    (
-                        "TypeVar",
-                        (1, 6, 1, 19),
-                        "T",
-                        (
-                            "Tuple",
-                            (1, 9, 1, 19),
-                            [
-                                ("Name", (1, 10, 1, 13), "int", ("Load",)),
-                                ("Name", (1, 15, 1, 18), "str", ("Load",)),
-                            ],
-                            ("Load",),
-                        ),
-                    ),
-                    ("TypeVarTuple", (1, 21, 1, 24), "Ts"),
-                    ("ParamSpec", (1, 26, 1, 29), "P"),
-                ],
-            )
-        ],
-        [],
-    ),
+('Module', [('Expr', (1, 0, 1, 4), ('Constant', (1, 0, 1, 4), None, None))], []),
+('Module', [('Expr', (1, 0, 1, 18), ('Constant', (1, 0, 1, 18), 'module docstring', None))], []),
+('Module', [('FunctionDef', (1, 0, 1, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 9, 1, 13))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (1, 9, 1, 29), ('Constant', (1, 9, 1, 29), 'function docstring', None))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 14), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, []), [('Pass', (1, 10, 1, 14))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 0, None)]), [('Pass', (1, 12, 1, 16))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 18), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 11), 'args', None, None), [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 23), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 16), 'args', ('Starred', (1, 13, 1, 16), ('Name', (1, 14, 1, 16), 'Ts', ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 19, 1, 23))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 36), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Constant', (1, 25, 1, 28), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 36), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Starred', (1, 25, 1, 28), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 21), 'f', ('arguments', [], [], None, [], [], ('arg', (1, 8, 1, 14), 'kwargs', None, None), []), [('Pass', (1, 17, 1, 21))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 71), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None), ('arg', (1, 9, 1, 10), 'b', None, None), ('arg', (1, 14, 1, 15), 'c', None, None), ('arg', (1, 22, 1, 23), 'd', None, None), ('arg', (1, 28, 1, 29), 'e', None, None)], ('arg', (1, 35, 1, 39), 'args', None, None), [('arg', (1, 41, 1, 42), 'f', None, None)], [('Constant', (1, 43, 1, 45), 42, None)], ('arg', (1, 49, 1, 55), 'kwargs', None, None), [('Constant', (1, 11, 1, 12), 1, None), ('Constant', (1, 16, 1, 20), None, None), ('List', (1, 24, 1, 26), [], ('Load',)), ('Dict', (1, 30, 1, 32), [], [])]), [('Expr', (1, 58, 1, 71), ('Constant', (1, 58, 1, 71), 'doc for f()', None))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 27), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 23, 1, 27))], [], ('Subscript', (1, 11, 1, 21), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 20), [('Starred', (1, 17, 1, 20), ('Name', (1, 18, 1, 20), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 32), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 28, 1, 32))], [], ('Subscript', (1, 11, 1, 26), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 25), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 25), ('Name', (1, 23, 1, 25), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 45), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 41, 1, 45))], [], ('Subscript', (1, 11, 1, 39), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 38), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 38), ('Subscript', (1, 23, 1, 38), ('Name', (1, 23, 1, 28), 'tuple', ('Load',)), ('Tuple', (1, 29, 1, 37), [('Name', (1, 29, 1, 32), 'int', ('Load',)), ('Constant', (1, 34, 1, 37), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []),
+('Module', [('ClassDef', (1, 0, 1, 12), 'C', [], [], [('Pass', (1, 8, 1, 12))], [], [])], []),
+('Module', [('ClassDef', (1, 0, 1, 32), 'C', [], [], [('Expr', (1, 9, 1, 32), ('Constant', (1, 9, 1, 32), 'docstring for class C', None))], [], [])], []),
+('Module', [('ClassDef', (1, 0, 1, 21), 'C', [('Name', (1, 8, 1, 14), 'object', ('Load',))], [], [('Pass', (1, 17, 1, 21))], [], [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [], None, [], [], None, []), [('Return', (1, 8, 1, 16), ('Constant', (1, 15, 1, 16), 1, None))], [], None, None, [])], []),
+('Module', [('Delete', (1, 0, 1, 5), [('Name', (1, 4, 1, 5), 'v', ('Del',))])], []),
+('Module', [('Assign', (1, 0, 1, 5), [('Name', (1, 0, 1, 1), 'v', ('Store',))], ('Constant', (1, 4, 1, 5), 1, None), None)], []),
+('Module', [('Assign', (1, 0, 1, 7), [('Tuple', (1, 0, 1, 3), [('Name', (1, 0, 1, 1), 'a', ('Store',)), ('Name', (1, 2, 1, 3), 'b', ('Store',))], ('Store',))], ('Name', (1, 6, 1, 7), 'c', ('Load',)), None)], []),
+('Module', [('Assign', (1, 0, 1, 9), [('Tuple', (1, 0, 1, 5), [('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Name', (1, 3, 1, 4), 'b', ('Store',))], ('Store',))], ('Name', (1, 8, 1, 9), 'c', ('Load',)), None)], []),
+('Module', [('Assign', (1, 0, 1, 9), [('List', (1, 0, 1, 5), [('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Name', (1, 3, 1, 4), 'b', ('Store',))], ('Store',))], ('Name', (1, 8, 1, 9), 'c', ('Load',)), None)], []),
+('Module', [('AnnAssign', (1, 0, 1, 13), ('Name', (1, 0, 1, 1), 'x', ('Store',)), ('Subscript', (1, 3, 1, 13), ('Name', (1, 3, 1, 8), 'tuple', ('Load',)), ('Tuple', (1, 9, 1, 12), [('Starred', (1, 9, 1, 12), ('Name', (1, 10, 1, 12), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, 1)], []),
+('Module', [('AnnAssign', (1, 0, 1, 18), ('Name', (1, 0, 1, 1), 'x', ('Store',)), ('Subscript', (1, 3, 1, 18), ('Name', (1, 3, 1, 8), 'tuple', ('Load',)), ('Tuple', (1, 9, 1, 17), [('Name', (1, 9, 1, 12), 'int', ('Load',)), ('Starred', (1, 14, 1, 17), ('Name', (1, 15, 1, 17), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, 1)], []),
+('Module', [('AnnAssign', (1, 0, 1, 31), ('Name', (1, 0, 1, 1), 'x', ('Store',)), ('Subscript', (1, 3, 1, 31), ('Name', (1, 3, 1, 8), 'tuple', ('Load',)), ('Tuple', (1, 9, 1, 30), [('Name', (1, 9, 1, 12), 'int', ('Load',)), ('Starred', (1, 14, 1, 30), ('Subscript', (1, 15, 1, 30), ('Name', (1, 15, 1, 20), 'tuple', ('Load',)), ('Tuple', (1, 21, 1, 29), [('Name', (1, 21, 1, 24), 'str', ('Load',)), ('Constant', (1, 26, 1, 29), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, 1)], []),
+('Module', [('AugAssign', (1, 0, 1, 6), ('Name', (1, 0, 1, 1), 'v', ('Store',)), ('Add',), ('Constant', (1, 5, 1, 6), 1, None))], []),
+('Module', [('For', (1, 0, 1, 15), ('Name', (1, 4, 1, 5), 'v', ('Store',)), ('Name', (1, 9, 1, 10), 'v', ('Load',)), [('Pass', (1, 11, 1, 15))], [], None)], []),
+('Module', [('While', (1, 0, 1, 12), ('Name', (1, 6, 1, 7), 'v', ('Load',)), [('Pass', (1, 8, 1, 12))], [])], []),
+('Module', [('If', (1, 0, 1, 9), ('Name', (1, 3, 1, 4), 'v', ('Load',)), [('Pass', (1, 5, 1, 9))], [])], []),
+('Module', [('If', (1, 0, 4, 6), ('Name', (1, 3, 1, 4), 'a', ('Load',)), [('Pass', (2, 2, 2, 6))], [('If', (3, 0, 4, 6), ('Name', (3, 5, 3, 6), 'b', ('Load',)), [('Pass', (4, 2, 4, 6))], [])])], []),
+('Module', [('If', (1, 0, 6, 6), ('Name', (1, 3, 1, 4), 'a', ('Load',)), [('Pass', (2, 2, 2, 6))], [('If', (3, 0, 6, 6), ('Name', (3, 5, 3, 6), 'b', ('Load',)), [('Pass', (4, 2, 4, 6))], [('Pass', (6, 2, 6, 6))])])], []),
+('Module', [('With', (1, 0, 1, 17), [('withitem', ('Name', (1, 5, 1, 6), 'x', ('Load',)), ('Name', (1, 10, 1, 11), 'y', ('Store',)))], [('Pass', (1, 13, 1, 17))], None)], []),
+('Module', [('With', (1, 0, 1, 25), [('withitem', ('Name', (1, 5, 1, 6), 'x', ('Load',)), ('Name', (1, 10, 1, 11), 'y', ('Store',))), ('withitem', ('Name', (1, 13, 1, 14), 'z', ('Load',)), ('Name', (1, 18, 1, 19), 'q', ('Store',)))], [('Pass', (1, 21, 1, 25))], None)], []),
+('Module', [('Raise', (1, 0, 1, 25), ('Call', (1, 6, 1, 25), ('Name', (1, 6, 1, 15), 'Exception', ('Load',)), [('Constant', (1, 16, 1, 24), 'string', None)], []), None)], []),
+('Module', [('Try', (1, 0, 4, 6), [('Pass', (2, 2, 2, 6))], [('ExceptHandler', (3, 0, 4, 6), ('Name', (3, 7, 3, 16), 'Exception', ('Load',)), None, [('Pass', (4, 2, 4, 6))])], [], [])], []),
+('Module', [('Try', (1, 0, 4, 6), [('Pass', (2, 2, 2, 6))], [], [], [('Pass', (4, 2, 4, 6))])], []),
+('Module', [('TryStar', (1, 0, 4, 6), [('Pass', (2, 2, 2, 6))], [('ExceptHandler', (3, 0, 4, 6), ('Name', (3, 8, 3, 17), 'Exception', ('Load',)), None, [('Pass', (4, 2, 4, 6))])], [], [])], []),
+('Module', [('Assert', (1, 0, 1, 8), ('Name', (1, 7, 1, 8), 'v', ('Load',)), None)], []),
+('Module', [('Import', (1, 0, 1, 10), [('alias', (1, 7, 1, 10), 'sys', None)])], []),
+('Module', [('ImportFrom', (1, 0, 1, 17), 'sys', [('alias', (1, 16, 1, 17), 'v', None)], 0)], []),
+('Module', [('Global', (1, 0, 1, 8), ['v'])], []),
+('Module', [('Expr', (1, 0, 1, 1), ('Constant', (1, 0, 1, 1), 1, None))], []),
+('Module', [('Pass', (1, 0, 1, 4))], []),
+('Module', [('For', (1, 0, 1, 16), ('Name', (1, 4, 1, 5), 'v', ('Store',)), ('Name', (1, 9, 1, 10), 'v', ('Load',)), [('Break', (1, 11, 1, 16))], [], None)], []),
+('Module', [('For', (1, 0, 1, 19), ('Name', (1, 4, 1, 5), 'v', ('Store',)), ('Name', (1, 9, 1, 10), 'v', ('Load',)), [('Continue', (1, 11, 1, 19))], [], None)], []),
+('Module', [('For', (1, 0, 1, 18), ('Tuple', (1, 4, 1, 7), [('Name', (1, 4, 1, 5), 'a', ('Store',)), ('Name', (1, 6, 1, 7), 'b', ('Store',))], ('Store',)), ('Name', (1, 11, 1, 12), 'c', ('Load',)), [('Pass', (1, 14, 1, 18))], [], None)], []),
+('Module', [('For', (1, 0, 1, 20), ('Tuple', (1, 4, 1, 9), [('Name', (1, 5, 1, 6), 'a', ('Store',)), ('Name', (1, 7, 1, 8), 'b', ('Store',))], ('Store',)), ('Name', (1, 13, 1, 14), 'c', ('Load',)), [('Pass', (1, 16, 1, 20))], [], None)], []),
+('Module', [('For', (1, 0, 1, 20), ('List', (1, 4, 1, 9), [('Name', (1, 5, 1, 6), 'a', ('Store',)), ('Name', (1, 7, 1, 8), 'b', ('Store',))], ('Store',)), ('Name', (1, 13, 1, 14), 'c', ('Load',)), [('Pass', (1, 16, 1, 20))], [], None)], []),
+('Module', [('Expr', (1, 0, 11, 5), ('GeneratorExp', (1, 0, 11, 5), ('Tuple', (2, 4, 6, 5), [('Name', (3, 4, 3, 6), 'Aa', ('Load',)), ('Name', (5, 7, 5, 9), 'Bb', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (8, 4, 10, 6), [('Name', (8, 4, 8, 6), 'Aa', ('Store',)), ('Name', (10, 4, 10, 6), 'Bb', ('Store',))], ('Store',)), ('Name', (10, 10, 10, 12), 'Cc', ('Load',)), [], 0)]))], []),
+('Module', [('Expr', (1, 0, 1, 34), ('DictComp', (1, 0, 1, 34), ('Name', (1, 1, 1, 2), 'a', ('Load',)), ('Name', (1, 5, 1, 6), 'b', ('Load',)), [('comprehension', ('Name', (1, 11, 1, 12), 'w', ('Store',)), ('Name', (1, 16, 1, 17), 'x', ('Load',)), [], 0), ('comprehension', ('Name', (1, 22, 1, 23), 'm', ('Store',)), ('Name', (1, 27, 1, 28), 'p', ('Load',)), [('Name', (1, 32, 1, 33), 'g', ('Load',))], 0)]))], []),
+('Module', [('Expr', (1, 0, 1, 20), ('DictComp', (1, 0, 1, 20), ('Name', (1, 1, 1, 2), 'a', ('Load',)), ('Name', (1, 5, 1, 6), 'b', ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'v', ('Store',)), ('Name', (1, 13, 1, 14), 'w', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'x', ('Load',)), [], 0)]))], []),
+('Module', [('Expr', (1, 0, 1, 19), ('SetComp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 12, 1, 13), 'x', ('Load',)), [('Name', (1, 17, 1, 18), 'g', ('Load',))], 0)]))], []),
+('Module', [('Expr', (1, 0, 1, 16), ('SetComp', (1, 0, 1, 16), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Tuple', (1, 7, 1, 10), [('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 9, 1, 10), 'm', ('Store',))], ('Store',)), ('Name', (1, 14, 1, 15), 'x', ('Load',)), [], 0)]))], []),
+('Module', [('AsyncFunctionDef', (1, 0, 3, 18), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 17), ('Constant', (2, 1, 2, 17), 'async function', None)), ('Expr', (3, 1, 3, 18), ('Await', (3, 1, 3, 18), ('Call', (3, 7, 3, 18), ('Name', (3, 7, 3, 16), 'something', ('Load',)), [], [])))], [], None, None, [])], []),
+('Module', [('AsyncFunctionDef', (1, 0, 3, 8), 'f', ('arguments', [], [], None, [], [], None, []), [('AsyncFor', (2, 1, 3, 8), ('Name', (2, 11, 2, 12), 'e', ('Store',)), ('Name', (2, 16, 2, 17), 'i', ('Load',)), [('Expr', (2, 19, 2, 20), ('Constant', (2, 19, 2, 20), 1, None))], [('Expr', (3, 7, 3, 8), ('Constant', (3, 7, 3, 8), 2, None))], None)], [], None, None, [])], []),
+('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', ('arguments', [], [], None, [], [], None, []), [('AsyncWith', (2, 1, 2, 21), [('withitem', ('Name', (2, 12, 2, 13), 'a', ('Load',)), ('Name', (2, 17, 2, 18), 'b', ('Store',)))], [('Expr', (2, 20, 2, 21), ('Constant', (2, 20, 2, 21), 1, None))], None)], [], None, None, [])], []),
+('Module', [('Expr', (1, 0, 1, 14), ('Dict', (1, 0, 1, 14), [None, ('Constant', (1, 10, 1, 11), 2, None)], [('Dict', (1, 3, 1, 8), [('Constant', (1, 4, 1, 5), 1, None)], [('Constant', (1, 6, 1, 7), 2, None)]), ('Constant', (1, 12, 1, 13), 3, None)]))], []),
+('Module', [('Expr', (1, 0, 1, 12), ('Set', (1, 0, 1, 12), [('Starred', (1, 1, 1, 8), ('Set', (1, 2, 1, 8), [('Constant', (1, 3, 1, 4), 1, None), ('Constant', (1, 6, 1, 7), 2, None)]), ('Load',)), ('Constant', (1, 10, 1, 11), 3, None)]))], []),
+('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 21), ('ListComp', (2, 1, 2, 21), ('Name', (2, 2, 2, 3), 'i', ('Load',)), [('comprehension', ('Name', (2, 14, 2, 15), 'b', ('Store',)), ('Name', (2, 19, 2, 20), 'c', ('Load',)), [], 1)]))], [], None, None, [])], []),
+('Module', [('FunctionDef', (4, 0, 4, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None, [])], []),
+('Module', [('AsyncFunctionDef', (4, 0, 4, 19), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 15, 4, 19))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None, [])], []),
+('Module', [('ClassDef', (4, 0, 4, 13), 'C', [], [], [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], [])], []),
+('Module', [('FunctionDef', (2, 0, 2, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Call', (1, 1, 1, 19), ('Name', (1, 1, 1, 5), 'deco', ('Load',)), [('GeneratorExp', (1, 5, 1, 19), ('Name', (1, 6, 1, 7), 'a', ('Load',)), [('comprehension', ('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 17, 1, 18), 'b', ('Load',)), [], 0)])], [])], None, None, [])], []),
+('Module', [('FunctionDef', (2, 0, 2, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Attribute', (1, 1, 1, 6), ('Attribute', (1, 1, 1, 4), ('Name', (1, 1, 1, 2), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',))], None, None, [])], []),
+('Module', [('Expr', (1, 0, 1, 8), ('NamedExpr', (1, 1, 1, 7), ('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Constant', (1, 6, 1, 7), 1, None)))], []),
+('Module', [('FunctionDef', (1, 0, 1, 18), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 26), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None), ('arg', (1, 15, 1, 16), 'd', None, None), ('arg', (1, 18, 1, 19), 'e', None, None)], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], None, []), [('Pass', (1, 25, 1, 29))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 39), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], ('arg', (1, 26, 1, 32), 'kwargs', None, None), []), [('Pass', (1, 35, 1, 39))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 20), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None)]), [('Pass', (1, 16, 1, 20))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None), ('arg', (1, 19, 1, 20), 'c', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None), ('Constant', (1, 21, 1, 22), 4, None)]), [('Pass', (1, 25, 1, 29))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 32), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 28, 1, 32))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 30), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 26, 1, 30))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 42), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], ('arg', (1, 29, 1, 35), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 38, 1, 42))], [], None, None, [])], []),
+('Module', [('FunctionDef', (1, 0, 1, 40), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], ('arg', (1, 27, 1, 33), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 36, 1, 40))], [], None, None, [])], []),
+('Module', [('TypeAlias', (1, 0, 1, 12), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [], ('Name', (1, 9, 1, 12), 'int', ('Load',)))], []),
+('Module', [('TypeAlias', (1, 0, 1, 15), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None)], ('Name', (1, 12, 1, 15), 'int', ('Load',)))], []),
+('Module', [('TypeAlias', (1, 0, 1, 32), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None), ('TypeVarTuple', (1, 10, 1, 13), 'Ts'), ('ParamSpec', (1, 15, 1, 18), 'P')], ('Tuple', (1, 22, 1, 32), [('Name', (1, 23, 1, 24), 'T', ('Load',)), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Name', (1, 30, 1, 31), 'P', ('Load',))], ('Load',)))], []),
+('Module', [('TypeAlias', (1, 0, 1, 37), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 13), 'T', ('Name', (1, 10, 1, 13), 'int', ('Load',))), ('TypeVarTuple', (1, 15, 1, 18), 'Ts'), ('ParamSpec', (1, 20, 1, 23), 'P')], ('Tuple', (1, 27, 1, 37), [('Name', (1, 28, 1, 29), 'T', ('Load',)), ('Name', (1, 31, 1, 33), 'Ts', ('Load',)), ('Name', (1, 35, 1, 36), 'P', ('Load',))], ('Load',)))], []),
+('Module', [('TypeAlias', (1, 0, 1, 44), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 20), 'T', ('Tuple', (1, 10, 1, 20), [('Name', (1, 11, 1, 14), 'int', ('Load',)), ('Name', (1, 16, 1, 19), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 22, 1, 25), 'Ts'), ('ParamSpec', (1, 27, 1, 30), 'P')], ('Tuple', (1, 34, 1, 44), [('Name', (1, 35, 1, 36), 'T', ('Load',)), ('Name', (1, 38, 1, 40), 'Ts', ('Load',)), ('Name', (1, 42, 1, 43), 'P', ('Load',))], ('Load',)))], []),
+('Module', [('ClassDef', (1, 0, 1, 16), 'X', [], [], [('Pass', (1, 12, 1, 16))], [], [('TypeVar', (1, 8, 1, 9), 'T', None)])], []),
+('Module', [('ClassDef', (1, 0, 1, 26), 'X', [], [], [('Pass', (1, 22, 1, 26))], [], [('TypeVar', (1, 8, 1, 9), 'T', None), ('TypeVarTuple', (1, 11, 1, 14), 'Ts'), ('ParamSpec', (1, 16, 1, 19), 'P')])], []),
+('Module', [('ClassDef', (1, 0, 1, 31), 'X', [], [], [('Pass', (1, 27, 1, 31))], [], [('TypeVar', (1, 8, 1, 14), 'T', ('Name', (1, 11, 1, 14), 'int', ('Load',))), ('TypeVarTuple', (1, 16, 1, 19), 'Ts'), ('ParamSpec', (1, 21, 1, 24), 'P')])], []),
+('Module', [('ClassDef', (1, 0, 1, 38), 'X', [], [], [('Pass', (1, 34, 1, 38))], [], [('TypeVar', (1, 8, 1, 21), 'T', ('Tuple', (1, 11, 1, 21), [('Name', (1, 12, 1, 15), 'int', ('Load',)), ('Name', (1, 17, 1, 20), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 23, 1, 26), 'Ts'), ('ParamSpec', (1, 28, 1, 31), 'P')])], []),
+('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 12, 1, 16))], [], None, None, [('TypeVar', (1, 6, 1, 7), 'T', None)])], []),
+('Module', [('FunctionDef', (1, 0, 1, 26), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None, [('TypeVar', (1, 6, 1, 7), 'T', None), ('TypeVarTuple', (1, 9, 1, 12), 'Ts'), ('ParamSpec', (1, 14, 1, 17), 'P')])], []),
+('Module', [('FunctionDef', (1, 0, 1, 31), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 27, 1, 31))], [], None, None, [('TypeVar', (1, 6, 1, 12), 'T', ('Name', (1, 9, 1, 12), 'int', ('Load',))), ('TypeVarTuple', (1, 14, 1, 17), 'Ts'), ('ParamSpec', (1, 19, 1, 22), 'P')])], []),
+('Module', [('FunctionDef', (1, 0, 1, 38), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 34, 1, 38))], [], None, None, [('TypeVar', (1, 6, 1, 19), 'T', ('Tuple', (1, 9, 1, 19), [('Name', (1, 10, 1, 13), 'int', ('Load',)), ('Name', (1, 15, 1, 18), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 21, 1, 24), 'Ts'), ('ParamSpec', (1, 26, 1, 29), 'P')])], []),
 ]
 single_results = [
-    (
-        "Interactive",
-        [
-            (
-                "Expr",
-                (1, 0, 1, 3),
-                (
-                    "BinOp",
-                    (1, 0, 1, 3),
-                    ("Constant", (1, 0, 1, 1), 1, None),
-                    ("Add",),
-                    ("Constant", (1, 2, 1, 3), 2, None),
-                ),
-            )
-        ],
-    ),
+('Interactive', [('Expr', (1, 0, 1, 3), ('BinOp', (1, 0, 1, 3), ('Constant', (1, 0, 1, 1), 1, None), ('Add',), ('Constant', (1, 2, 1, 3), 2, None)))]),
 ]
 eval_results = [
-    ("Expression", ("Constant", (1, 0, 1, 4), None, None)),
-    (
-        "Expression",
-        (
-            "BoolOp",
-            (1, 0, 1, 7),
-            ("And",),
-            [
-                ("Name", (1, 0, 1, 1), "a", ("Load",)),
-                ("Name", (1, 6, 1, 7), "b", ("Load",)),
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "BinOp",
-            (1, 0, 1, 5),
-            ("Name", (1, 0, 1, 1), "a", ("Load",)),
-            ("Add",),
-            ("Name", (1, 4, 1, 5), "b", ("Load",)),
-        ),
-    ),
-    (
-        "Expression",
-        ("UnaryOp", (1, 0, 1, 5), ("Not",), ("Name", (1, 4, 1, 5), "v", ("Load",))),
-    ),
-    (
-        "Expression",
-        (
-            "Lambda",
-            (1, 0, 1, 11),
-            ("arguments", [], [], None, [], [], None, []),
-            ("Constant", (1, 7, 1, 11), None, None),
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Dict",
-            (1, 0, 1, 7),
-            [("Constant", (1, 2, 1, 3), 1, None)],
-            [("Constant", (1, 4, 1, 5), 2, None)],
-        ),
-    ),
-    ("Expression", ("Dict", (1, 0, 1, 2), [], [])),
-    ("Expression", ("Set", (1, 0, 1, 7), [("Constant", (1, 1, 1, 5), None, None)])),
-    (
-        "Expression",
-        (
-            "Dict",
-            (1, 0, 5, 6),
-            [("Constant", (2, 6, 2, 7), 1, None)],
-            [("Constant", (4, 10, 4, 11), 2, None)],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "ListComp",
-            (1, 0, 1, 19),
-            ("Name", (1, 1, 1, 2), "a", ("Load",)),
-            [
-                (
-                    "comprehension",
-                    ("Name", (1, 7, 1, 8), "b", ("Store",)),
-                    ("Name", (1, 12, 1, 13), "c", ("Load",)),
-                    [("Name", (1, 17, 1, 18), "d", ("Load",))],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "GeneratorExp",
-            (1, 0, 1, 19),
-            ("Name", (1, 1, 1, 2), "a", ("Load",)),
-            [
-                (
-                    "comprehension",
-                    ("Name", (1, 7, 1, 8), "b", ("Store",)),
-                    ("Name", (1, 12, 1, 13), "c", ("Load",)),
-                    [("Name", (1, 17, 1, 18), "d", ("Load",))],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "ListComp",
-            (1, 0, 1, 20),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "Tuple",
-                        (1, 11, 1, 14),
-                        [
-                            ("Name", (1, 11, 1, 12), "a", ("Store",)),
-                            ("Name", (1, 13, 1, 14), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 18, 1, 19), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "ListComp",
-            (1, 0, 1, 22),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "Tuple",
-                        (1, 11, 1, 16),
-                        [
-                            ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                            ("Name", (1, 14, 1, 15), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 20, 1, 21), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "ListComp",
-            (1, 0, 1, 22),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "List",
-                        (1, 11, 1, 16),
-                        [
-                            ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                            ("Name", (1, 14, 1, 15), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 20, 1, 21), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "SetComp",
-            (1, 0, 1, 20),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "Tuple",
-                        (1, 11, 1, 14),
-                        [
-                            ("Name", (1, 11, 1, 12), "a", ("Store",)),
-                            ("Name", (1, 13, 1, 14), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 18, 1, 19), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "SetComp",
-            (1, 0, 1, 22),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "Tuple",
-                        (1, 11, 1, 16),
-                        [
-                            ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                            ("Name", (1, 14, 1, 15), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 20, 1, 21), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "SetComp",
-            (1, 0, 1, 22),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "List",
-                        (1, 11, 1, 16),
-                        [
-                            ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                            ("Name", (1, 14, 1, 15), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 20, 1, 21), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "GeneratorExp",
-            (1, 0, 1, 20),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "Tuple",
-                        (1, 11, 1, 14),
-                        [
-                            ("Name", (1, 11, 1, 12), "a", ("Store",)),
-                            ("Name", (1, 13, 1, 14), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 18, 1, 19), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "GeneratorExp",
-            (1, 0, 1, 22),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "Tuple",
-                        (1, 11, 1, 16),
-                        [
-                            ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                            ("Name", (1, 14, 1, 15), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 20, 1, 21), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "GeneratorExp",
-            (1, 0, 1, 22),
-            (
-                "Tuple",
-                (1, 1, 1, 6),
-                [
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    ("Name", (1, 4, 1, 5), "b", ("Load",)),
-                ],
-                ("Load",),
-            ),
-            [
-                (
-                    "comprehension",
-                    (
-                        "List",
-                        (1, 11, 1, 16),
-                        [
-                            ("Name", (1, 12, 1, 13), "a", ("Store",)),
-                            ("Name", (1, 14, 1, 15), "b", ("Store",)),
-                        ],
-                        ("Store",),
-                    ),
-                    ("Name", (1, 20, 1, 21), "c", ("Load",)),
-                    [],
-                    0,
-                )
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Compare",
-            (1, 0, 1, 9),
-            ("Constant", (1, 0, 1, 1), 1, None),
-            [("Lt",), ("Lt",)],
-            [("Constant", (1, 4, 1, 5), 2, None), ("Constant", (1, 8, 1, 9), 3, None)],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Call",
-            (1, 0, 1, 17),
-            ("Name", (1, 0, 1, 1), "f", ("Load",)),
-            [
-                ("Constant", (1, 2, 1, 3), 1, None),
-                ("Constant", (1, 4, 1, 5), 2, None),
-                (
-                    "Starred",
-                    (1, 10, 1, 12),
-                    ("Name", (1, 11, 1, 12), "d", ("Load",)),
-                    ("Load",),
-                ),
-            ],
-            [
-                ("keyword", (1, 6, 1, 9), "c", ("Constant", (1, 8, 1, 9), 3, None)),
-                (
-                    "keyword",
-                    (1, 13, 1, 16),
-                    None,
-                    ("Name", (1, 15, 1, 16), "e", ("Load",)),
-                ),
-            ],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Call",
-            (1, 0, 1, 10),
-            ("Name", (1, 0, 1, 1), "f", ("Load",)),
-            [
-                (
-                    "Starred",
-                    (1, 2, 1, 9),
-                    (
-                        "List",
-                        (1, 3, 1, 9),
-                        [
-                            ("Constant", (1, 4, 1, 5), 0, None),
-                            ("Constant", (1, 7, 1, 8), 1, None),
-                        ],
-                        ("Load",),
-                    ),
-                    ("Load",),
-                )
-            ],
-            [],
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Call",
-            (1, 0, 1, 15),
-            ("Name", (1, 0, 1, 1), "f", ("Load",)),
-            [
-                (
-                    "GeneratorExp",
-                    (1, 1, 1, 15),
-                    ("Name", (1, 2, 1, 3), "a", ("Load",)),
-                    [
-                        (
-                            "comprehension",
-                            ("Name", (1, 8, 1, 9), "a", ("Store",)),
-                            ("Name", (1, 13, 1, 14), "b", ("Load",)),
-                            [],
-                            0,
-                        )
-                    ],
-                )
-            ],
-            [],
-        ),
-    ),
-    ("Expression", ("Constant", (1, 0, 1, 2), 10, None)),
-    ("Expression", ("Constant", (1, 0, 1, 8), "string", None)),
-    (
-        "Expression",
-        (
-            "Attribute",
-            (1, 0, 1, 3),
-            ("Name", (1, 0, 1, 1), "a", ("Load",)),
-            "b",
-            ("Load",),
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Subscript",
-            (1, 0, 1, 6),
-            ("Name", (1, 0, 1, 1), "a", ("Load",)),
-            (
-                "Slice",
-                (1, 2, 1, 5),
-                ("Name", (1, 2, 1, 3), "b", ("Load",)),
-                ("Name", (1, 4, 1, 5), "c", ("Load",)),
-                None,
-            ),
-            ("Load",),
-        ),
-    ),
-    ("Expression", ("Name", (1, 0, 1, 1), "v", ("Load",))),
-    (
-        "Expression",
-        (
-            "List",
-            (1, 0, 1, 7),
-            [
-                ("Constant", (1, 1, 1, 2), 1, None),
-                ("Constant", (1, 3, 1, 4), 2, None),
-                ("Constant", (1, 5, 1, 6), 3, None),
-            ],
-            ("Load",),
-        ),
-    ),
-    ("Expression", ("List", (1, 0, 1, 2), [], ("Load",))),
-    (
-        "Expression",
-        (
-            "Tuple",
-            (1, 0, 1, 5),
-            [
-                ("Constant", (1, 0, 1, 1), 1, None),
-                ("Constant", (1, 2, 1, 3), 2, None),
-                ("Constant", (1, 4, 1, 5), 3, None),
-            ],
-            ("Load",),
-        ),
-    ),
-    (
-        "Expression",
-        (
-            "Tuple",
-            (1, 0, 1, 7),
-            [
-                ("Constant", (1, 1, 1, 2), 1, None),
-                ("Constant", (1, 3, 1, 4), 2, None),
-                ("Constant", (1, 5, 1, 6), 3, None),
-            ],
-            ("Load",),
-        ),
-    ),
-    ("Expression", ("Tuple", (1, 0, 1, 2), [], ("Load",))),
-    (
-        "Expression",
-        (
-            "Call",
-            (1, 0, 1, 17),
-            (
-                "Attribute",
-                (1, 0, 1, 7),
-                (
-                    "Attribute",
-                    (1, 0, 1, 5),
-                    (
-                        "Attribute",
-                        (1, 0, 1, 3),
-                        ("Name", (1, 0, 1, 1), "a", ("Load",)),
-                        "b",
-                        ("Load",),
-                    ),
-                    "c",
-                    ("Load",),
-                ),
-                "d",
-                ("Load",),
-            ),
-            [
-                (
-                    "Subscript",
-                    (1, 8, 1, 16),
-                    (
-                        "Attribute",
-                        (1, 8, 1, 11),
-                        ("Name", (1, 8, 1, 9), "a", ("Load",)),
-                        "b",
-                        ("Load",),
-                    ),
-                    (
-                        "Slice",
-                        (1, 12, 1, 15),
-                        ("Constant", (1, 12, 1, 13), 1, None),
-                        ("Constant", (1, 14, 1, 15), 2, None),
-                        None,
-                    ),
-                    ("Load",),
-                )
-            ],
-            [],
-        ),
-    ),
+('Expression', ('Constant', (1, 0, 1, 4), None, None)),
+('Expression', ('BoolOp', (1, 0, 1, 7), ('And',), [('Name', (1, 0, 1, 1), 'a', ('Load',)), ('Name', (1, 6, 1, 7), 'b', ('Load',))])),
+('Expression', ('BinOp', (1, 0, 1, 5), ('Name', (1, 0, 1, 1), 'a', ('Load',)), ('Add',), ('Name', (1, 4, 1, 5), 'b', ('Load',)))),
+('Expression', ('UnaryOp', (1, 0, 1, 5), ('Not',), ('Name', (1, 4, 1, 5), 'v', ('Load',)))),
+('Expression', ('Lambda', (1, 0, 1, 11), ('arguments', [], [], None, [], [], None, []), ('Constant', (1, 7, 1, 11), None, None))),
+('Expression', ('Dict', (1, 0, 1, 7), [('Constant', (1, 2, 1, 3), 1, None)], [('Constant', (1, 4, 1, 5), 2, None)])),
+('Expression', ('Dict', (1, 0, 1, 2), [], [])),
+('Expression', ('Set', (1, 0, 1, 7), [('Constant', (1, 1, 1, 5), None, None)])),
+('Expression', ('Dict', (1, 0, 5, 6), [('Constant', (2, 6, 2, 7), 1, None)], [('Constant', (4, 10, 4, 11), 2, None)])),
+('Expression', ('ListComp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'a', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'b', ('Store',)), ('Name', (1, 12, 1, 13), 'c', ('Load',)), [('Name', (1, 17, 1, 18), 'd', ('Load',))], 0)])),
+('Expression', ('GeneratorExp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'a', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'b', ('Store',)), ('Name', (1, 12, 1, 13), 'c', ('Load',)), [('Name', (1, 17, 1, 18), 'd', ('Load',))], 0)])),
+('Expression', ('ListComp', (1, 0, 1, 20), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'c', ('Load',)), [], 0)])),
+('Expression', ('ListComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])),
+('Expression', ('ListComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])),
+('Expression', ('SetComp', (1, 0, 1, 20), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'c', ('Load',)), [], 0)])),
+('Expression', ('SetComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])),
+('Expression', ('SetComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])),
+('Expression', ('GeneratorExp', (1, 0, 1, 20), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'c', ('Load',)), [], 0)])),
+('Expression', ('GeneratorExp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])),
+('Expression', ('GeneratorExp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])),
+('Expression', ('Compare', (1, 0, 1, 9), ('Constant', (1, 0, 1, 1), 1, None), [('Lt',), ('Lt',)], [('Constant', (1, 4, 1, 5), 2, None), ('Constant', (1, 8, 1, 9), 3, None)])),
+('Expression', ('Call', (1, 0, 1, 17), ('Name', (1, 0, 1, 1), 'f', ('Load',)), [('Constant', (1, 2, 1, 3), 1, None), ('Constant', (1, 4, 1, 5), 2, None), ('Starred', (1, 10, 1, 12), ('Name', (1, 11, 1, 12), 'd', ('Load',)), ('Load',))], [('keyword', (1, 6, 1, 9), 'c', ('Constant', (1, 8, 1, 9), 3, None)), ('keyword', (1, 13, 1, 16), None, ('Name', (1, 15, 1, 16), 'e', ('Load',)))])),
+('Expression', ('Call', (1, 0, 1, 10), ('Name', (1, 0, 1, 1), 'f', ('Load',)), [('Starred', (1, 2, 1, 9), ('List', (1, 3, 1, 9), [('Constant', (1, 4, 1, 5), 0, None), ('Constant', (1, 7, 1, 8), 1, None)], ('Load',)), ('Load',))], [])),
+('Expression', ('Call', (1, 0, 1, 15), ('Name', (1, 0, 1, 1), 'f', ('Load',)), [('GeneratorExp', (1, 1, 1, 15), ('Name', (1, 2, 1, 3), 'a', ('Load',)), [('comprehension', ('Name', (1, 8, 1, 9), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Load',)), [], 0)])], [])),
+('Expression', ('Constant', (1, 0, 1, 2), 10, None)),
+('Expression', ('Constant', (1, 0, 1, 8), 'string', None)),
+('Expression', ('Attribute', (1, 0, 1, 3), ('Name', (1, 0, 1, 1), 'a', ('Load',)), 'b', ('Load',))),
+('Expression', ('Subscript', (1, 0, 1, 6), ('Name', (1, 0, 1, 1), 'a', ('Load',)), ('Slice', (1, 2, 1, 5), ('Name', (1, 2, 1, 3), 'b', ('Load',)), ('Name', (1, 4, 1, 5), 'c', ('Load',)), None), ('Load',))),
+('Expression', ('Name', (1, 0, 1, 1), 'v', ('Load',))),
+('Expression', ('List', (1, 0, 1, 7), [('Constant', (1, 1, 1, 2), 1, None), ('Constant', (1, 3, 1, 4), 2, None), ('Constant', (1, 5, 1, 6), 3, None)], ('Load',))),
+('Expression', ('List', (1, 0, 1, 2), [], ('Load',))),
+('Expression', ('Tuple', (1, 0, 1, 5), [('Constant', (1, 0, 1, 1), 1, None), ('Constant', (1, 2, 1, 3), 2, None), ('Constant', (1, 4, 1, 5), 3, None)], ('Load',))),
+('Expression', ('Tuple', (1, 0, 1, 7), [('Constant', (1, 1, 1, 2), 1, None), ('Constant', (1, 3, 1, 4), 2, None), ('Constant', (1, 5, 1, 6), 3, None)], ('Load',))),
+('Expression', ('Tuple', (1, 0, 1, 2), [], ('Load',))),
+('Expression', ('Call', (1, 0, 1, 17), ('Attribute', (1, 0, 1, 7), ('Attribute', (1, 0, 1, 5), ('Attribute', (1, 0, 1, 3), ('Name', (1, 0, 1, 1), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',)), 'd', ('Load',)), [('Subscript', (1, 8, 1, 16), ('Attribute', (1, 8, 1, 11), ('Name', (1, 8, 1, 9), 'a', ('Load',)), 'b', ('Load',)), ('Slice', (1, 12, 1, 15), ('Constant', (1, 12, 1, 13), 1, None), ('Constant', (1, 14, 1, 15), 2, None), None), ('Load',))], [])),
 ]
 main()
diff --git a/Misc/NEWS.d/next/Core and Builtins/2024-07-26-14-05-51.gh-issue-122300.SVIF-l.rst b/Misc/NEWS.d/next/Core and Builtins/2024-07-26-14-05-51.gh-issue-122300.SVIF-l.rst
new file mode 100644 (file)
index 0000000..6b58f89
--- /dev/null
@@ -0,0 +1,2 @@
+Preserve AST nodes for f-string with single-element format specifiers. Patch
+by Pablo Galindo
index 78b306afa6c19f36d2e3e4008ed5848b07db4955..45a32a0213a85ad471ff3a63b5c8c4b38e835c78 100644 (file)
@@ -928,7 +928,8 @@ _PyPegen_setup_full_format_spec(Parser *p, Token *colon, asdl_expr_seq *spec,
     }
   }
   expr_ty res;
-  if (asdl_seq_LEN(spec) == 0) {
+  Py_ssize_t n = asdl_seq_LEN(spec);
+  if (n == 0 || (n == 1 && asdl_seq_GET(spec, 0)->kind == Constant_kind)) {
     res = _PyAST_JoinedStr(spec, lineno, col_offset, end_lineno, end_col_offset,
                            p->arena);
   } else {