rustpython-ruff_python_parser 0.15.8

Unofficial fork for RustPython
Documentation
---
source: crates/ruff_python_parser/tests/fixtures.rs
input_file: crates/ruff_python_parser/resources/inline/ok/nested_async_comprehension_py310.py
---
## AST

```
Module(
    ModModule {
        node_index: NodeIndex(None),
        range: 0..181,
        body: [
            FunctionDef(
                StmtFunctionDef {
                    node_index: NodeIndex(None),
                    range: 44..116,
                    is_async: true,
                    decorator_list: [],
                    name: Identifier {
                        id: Name("f"),
                        range: 54..55,
                        node_index: NodeIndex(None),
                    },
                    type_params: None,
                    parameters: Parameters {
                        range: 55..57,
                        node_index: NodeIndex(None),
                        posonlyargs: [],
                        args: [],
                        vararg: None,
                        kwonlyargs: [],
                        kwarg: None,
                    },
                    returns: None,
                    body: [
                        Expr(
                            StmtExpr {
                                node_index: NodeIndex(None),
                                range: 63..84,
                                value: ListComp(
                                    ExprListComp {
                                        node_index: NodeIndex(None),
                                        range: 63..84,
                                        elt: Name(
                                            ExprName {
                                                node_index: NodeIndex(None),
                                                range: 64..65,
                                                id: Name("_"),
                                                ctx: Load,
                                            },
                                        ),
                                        generators: [
                                            Comprehension {
                                                range: 66..83,
                                                node_index: NodeIndex(None),
                                                target: Name(
                                                    ExprName {
                                                        node_index: NodeIndex(None),
                                                        range: 70..71,
                                                        id: Name("n"),
                                                        ctx: Store,
                                                    },
                                                ),
                                                iter: Call(
                                                    ExprCall {
                                                        node_index: NodeIndex(None),
                                                        range: 75..83,
                                                        func: Name(
                                                            ExprName {
                                                                node_index: NodeIndex(None),
                                                                range: 75..80,
                                                                id: Name("range"),
                                                                ctx: Load,
                                                            },
                                                        ),
                                                        arguments: Arguments {
                                                            range: 80..83,
                                                            node_index: NodeIndex(None),
                                                            args: [
                                                                NumberLiteral(
                                                                    ExprNumberLiteral {
                                                                        node_index: NodeIndex(None),
                                                                        range: 81..82,
                                                                        value: Int(
                                                                            3,
                                                                        ),
                                                                    },
                                                                ),
                                                            ],
                                                            keywords: [],
                                                        },
                                                    },
                                                ),
                                                ifs: [],
                                                is_async: false,
                                            },
                                        ],
                                    },
                                ),
                            },
                        ),
                        Expr(
                            StmtExpr {
                                node_index: NodeIndex(None),
                                range: 89..116,
                                value: ListComp(
                                    ExprListComp {
                                        node_index: NodeIndex(None),
                                        range: 89..116,
                                        elt: Name(
                                            ExprName {
                                                node_index: NodeIndex(None),
                                                range: 90..91,
                                                id: Name("_"),
                                                ctx: Load,
                                            },
                                        ),
                                        generators: [
                                            Comprehension {
                                                range: 92..115,
                                                node_index: NodeIndex(None),
                                                target: Name(
                                                    ExprName {
                                                        node_index: NodeIndex(None),
                                                        range: 102..103,
                                                        id: Name("n"),
                                                        ctx: Store,
                                                    },
                                                ),
                                                iter: Call(
                                                    ExprCall {
                                                        node_index: NodeIndex(None),
                                                        range: 107..115,
                                                        func: Name(
                                                            ExprName {
                                                                node_index: NodeIndex(None),
                                                                range: 107..112,
                                                                id: Name("range"),
                                                                ctx: Load,
                                                            },
                                                        ),
                                                        arguments: Arguments {
                                                            range: 112..115,
                                                            node_index: NodeIndex(None),
                                                            args: [
                                                                NumberLiteral(
                                                                    ExprNumberLiteral {
                                                                        node_index: NodeIndex(None),
                                                                        range: 113..114,
                                                                        value: Int(
                                                                            3,
                                                                        ),
                                                                    },
                                                                ),
                                                            ],
                                                            keywords: [],
                                                        },
                                                    },
                                                ),
                                                ifs: [],
                                                is_async: true,
                                            },
                                        ],
                                    },
                                ),
                            },
                        ),
                    ],
                },
            ),
            FunctionDef(
                StmtFunctionDef {
                    node_index: NodeIndex(None),
                    range: 117..180,
                    is_async: true,
                    decorator_list: [],
                    name: Identifier {
                        id: Name("f"),
                        range: 127..128,
                        node_index: NodeIndex(None),
                    },
                    type_params: None,
                    parameters: Parameters {
                        range: 128..130,
                        node_index: NodeIndex(None),
                        posonlyargs: [],
                        args: [],
                        vararg: None,
                        kwonlyargs: [],
                        kwarg: None,
                    },
                    returns: None,
                    body: [
                        FunctionDef(
                            StmtFunctionDef {
                                node_index: NodeIndex(None),
                                range: 136..148,
                                is_async: false,
                                decorator_list: [],
                                name: Identifier {
                                    id: Name("g"),
                                    range: 140..141,
                                    node_index: NodeIndex(None),
                                },
                                type_params: None,
                                parameters: Parameters {
                                    range: 141..143,
                                    node_index: NodeIndex(None),
                                    posonlyargs: [],
                                    args: [],
                                    vararg: None,
                                    kwonlyargs: [],
                                    kwarg: None,
                                },
                                returns: None,
                                body: [
                                    Expr(
                                        StmtExpr {
                                            node_index: NodeIndex(None),
                                            range: 145..148,
                                            value: EllipsisLiteral(
                                                ExprEllipsisLiteral {
                                                    node_index: NodeIndex(None),
                                                    range: 145..148,
                                                },
                                            ),
                                        },
                                    ),
                                ],
                            },
                        ),
                        Expr(
                            StmtExpr {
                                node_index: NodeIndex(None),
                                range: 153..180,
                                value: ListComp(
                                    ExprListComp {
                                        node_index: NodeIndex(None),
                                        range: 153..180,
                                        elt: Name(
                                            ExprName {
                                                node_index: NodeIndex(None),
                                                range: 154..155,
                                                id: Name("_"),
                                                ctx: Load,
                                            },
                                        ),
                                        generators: [
                                            Comprehension {
                                                range: 156..179,
                                                node_index: NodeIndex(None),
                                                target: Name(
                                                    ExprName {
                                                        node_index: NodeIndex(None),
                                                        range: 166..167,
                                                        id: Name("n"),
                                                        ctx: Store,
                                                    },
                                                ),
                                                iter: Call(
                                                    ExprCall {
                                                        node_index: NodeIndex(None),
                                                        range: 171..179,
                                                        func: Name(
                                                            ExprName {
                                                                node_index: NodeIndex(None),
                                                                range: 171..176,
                                                                id: Name("range"),
                                                                ctx: Load,
                                                            },
                                                        ),
                                                        arguments: Arguments {
                                                            range: 176..179,
                                                            node_index: NodeIndex(None),
                                                            args: [
                                                                NumberLiteral(
                                                                    ExprNumberLiteral {
                                                                        node_index: NodeIndex(None),
                                                                        range: 177..178,
                                                                        value: Int(
                                                                            3,
                                                                        ),
                                                                    },
                                                                ),
                                                            ],
                                                            keywords: [],
                                                        },
                                                    },
                                                ),
                                                ifs: [],
                                                is_async: true,
                                            },
                                        ],
                                    },
                                ),
                            },
                        ),
                    ],
                },
            ),
        ],
    },
)
```