rustpython-ruff_python_parser 0.16.10

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

```
Module(
    ModModule {
        node_index: NodeIndex(None),
        range: 0..46,
        body: [
            Assign(
                StmtAssign {
                    node_index: NodeIndex(None),
                    range: 0..7,
                    targets: [
                        Call(
                            ExprCall {
                                node_index: NodeIndex(None),
                                range: 0..3,
                                func: Name(
                                    ExprName {
                                        node_index: NodeIndex(None),
                                        range: 0..1,
                                        id: Name("f"),
                                        ctx: Load,
                                    },
                                ),
                                arguments: Arguments {
                                    range: 1..3,
                                    node_index: NodeIndex(None),
                                    args: [],
                                    keywords: [],
                                    runtime_args: None,
                                    runtime_bases: None,
                                },
                            },
                        ),
                    ],
                    value: NumberLiteral(
                        ExprNumberLiteral {
                            node_index: NodeIndex(None),
                            range: 6..7,
                            value: Int(
                                1,
                            ),
                        },
                    ),
                    runtime_targets: None,
                    runtime_type_comment: None,
                    runtime_type_comment_bytes: None,
                },
            ),
            Assign(
                StmtAssign {
                    node_index: NodeIndex(None),
                    range: 8..18,
                    targets: [
                        Tuple(
                            ExprTuple {
                                node_index: NodeIndex(None),
                                range: 8..14,
                                elts: [
                                    Call(
                                        ExprCall {
                                            node_index: NodeIndex(None),
                                            range: 8..11,
                                            func: Name(
                                                ExprName {
                                                    node_index: NodeIndex(None),
                                                    range: 8..9,
                                                    id: Name("f"),
                                                    ctx: Load,
                                                },
                                            ),
                                            arguments: Arguments {
                                                range: 9..11,
                                                node_index: NodeIndex(None),
                                                args: [],
                                                keywords: [],
                                                runtime_args: None,
                                                runtime_bases: None,
                                            },
                                        },
                                    ),
                                    Name(
                                        ExprName {
                                            node_index: NodeIndex(None),
                                            range: 13..14,
                                            id: Name("b"),
                                            ctx: Store,
                                        },
                                    ),
                                ],
                                ctx: Store,
                                parenthesized: false,
                                runtime_elts: None,
                            },
                        ),
                    ],
                    value: NumberLiteral(
                        ExprNumberLiteral {
                            node_index: NodeIndex(None),
                            range: 17..18,
                            value: Int(
                                1,
                            ),
                        },
                    ),
                    runtime_targets: None,
                    runtime_type_comment: None,
                    runtime_type_comment_bytes: None,
                },
            ),
            Assign(
                StmtAssign {
                    node_index: NodeIndex(None),
                    range: 19..45,
                    targets: [
                        Tuple(
                            ExprTuple {
                                node_index: NodeIndex(None),
                                range: 19..29,
                                elts: [
                                    Name(
                                        ExprName {
                                            node_index: NodeIndex(None),
                                            range: 19..20,
                                            id: Name("a"),
                                            ctx: Store,
                                        },
                                    ),
                                    Compare(
                                        ExprCompare {
                                            node_index: NodeIndex(None),
                                            range: 23..28,
                                            ops: [
                                                Lt,
                                            ],
                                            operands: [
                                                Name(
                                                    ExprName {
                                                        node_index: NodeIndex(None),
                                                        range: 23..24,
                                                        id: Name("x"),
                                                        ctx: Load,
                                                    },
                                                ),
                                                Name(
                                                    ExprName {
                                                        node_index: NodeIndex(None),
                                                        range: 27..28,
                                                        id: Name("y"),
                                                        ctx: Load,
                                                    },
                                                ),
                                            ],
                                            runtime_comparators: None,
                                        },
                                    ),
                                ],
                                ctx: Store,
                                parenthesized: false,
                                runtime_elts: None,
                            },
                        ),
                    ],
                    value: If(
                        ExprIf {
                            node_index: NodeIndex(None),
                            range: 32..45,
                            test: Name(
                                ExprName {
                                    node_index: NodeIndex(None),
                                    range: 37..38,
                                    id: Name("z"),
                                    ctx: Load,
                                },
                            ),
                            body: NumberLiteral(
                                ExprNumberLiteral {
                                    node_index: NodeIndex(None),
                                    range: 32..33,
                                    value: Int(
                                        1,
                                    ),
                                },
                            ),
                            orelse: NumberLiteral(
                                ExprNumberLiteral {
                                    node_index: NodeIndex(None),
                                    range: 44..45,
                                    value: Int(
                                        2,
                                    ),
                                },
                            ),
                        },
                    ),
                    runtime_targets: None,
                    runtime_type_comment: None,
                    runtime_type_comment_bytes: None,
                },
            ),
        ],
        runtime_body: None,
    },
)
```
## Errors

  |
1 | f() = 1
  | ^^^ Syntax Error: cannot assign to function call here. Maybe you meant '==' instead of '='?
2 | f(), b = 1
3 | a, (x < y) = 1 if z else 2
  |


  |
1 | f() = 1
2 | f(), b = 1
  |      ^^^^^ Syntax Error: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
3 | a, (x < y) = 1 if z else 2
  |


  |
1 | f() = 1
2 | f(), b = 1
3 | a, (x < y) = 1 if z else 2
  |     ^^^^^ Syntax Error: cannot assign to comparison here. Maybe you meant '==' instead of '='?