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/invalid/statements/if_extra_indent.py
---
## AST

```
Module(
    ModModule {
        node_index: NodeIndex(None),
        range: 0..153,
        body: [
            If(
                StmtIf {
                    node_index: NodeIndex(None),
                    range: 103..134,
                    test: BooleanLiteral(
                        ExprBooleanLiteral {
                            node_index: NodeIndex(None),
                            range: 106..110,
                            value: true,
                        },
                    ),
                    body: [
                        Pass(
                            StmtPass {
                                node_index: NodeIndex(None),
                                range: 116..120,
                            },
                        ),
                        Expr(
                            StmtExpr {
                                node_index: NodeIndex(None),
                                range: 129..134,
                                value: BinOp(
                                    ExprBinOp {
                                        node_index: NodeIndex(None),
                                        range: 129..134,
                                        left: Name(
                                            ExprName {
                                                node_index: NodeIndex(None),
                                                range: 129..130,
                                                id: Name("a"),
                                                ctx: Load,
                                            },
                                        ),
                                        op: Add,
                                        right: Name(
                                            ExprName {
                                                node_index: NodeIndex(None),
                                                range: 133..134,
                                                id: Name("b"),
                                                ctx: Load,
                                            },
                                        ),
                                    },
                                ),
                            },
                        ),
                    ],
                    elif_else_clauses: [],
                },
            ),
            Pass(
                StmtPass {
                    node_index: NodeIndex(None),
                    range: 140..144,
                },
            ),
            Assign(
                StmtAssign {
                    node_index: NodeIndex(None),
                    range: 146..152,
                    targets: [
                        Name(
                            ExprName {
                                node_index: NodeIndex(None),
                                range: 146..147,
                                id: Name("a"),
                                ctx: Store,
                            },
                        ),
                    ],
                    value: NumberLiteral(
                        ExprNumberLiteral {
                            node_index: NodeIndex(None),
                            range: 150..152,
                            value: Int(
                                10,
                            ),
                        },
                    ),
                },
            ),
        ],
    },
)
```
## Errors

  |
2 | if True:
3 |     pass
4 |         a + b
  | ^^^^^^^^ Syntax Error: Unexpected indentation
5 |
6 |     pass
  |


  |
6 |     pass
7 |
  | ^ Syntax Error: Expected a statement
8 | a = 10
  |