ruff/crates/ruff_python_semantic
Charlie Marsh 10ace88e9a
Track conditional deletions in the semantic model (#10415)
## Summary

Given `del X`, we'll typically add a `BindingKind::Deletion` to `X` to
shadow the current binding. However, if the deletion is inside of a
conditional operation, we _won't_, as in:

```python
def f():
    global X

    if X > 0:
        del X
```

We will, however, track it as a reference to the binding. This PR adds
the expression context to those resolved references, so that we can
detect that the `X` in `global X` was "assigned to".

Closes https://github.com/astral-sh/ruff/issues/10397.
2024-03-14 20:45:46 -04:00
..
src Track conditional deletions in the semantic model (#10415) 2024-03-14 20:45:46 -04:00
Cargo.toml refactor: Use QualifiedName for Imported::call_path (#10214) 2024-03-06 09:55:59 +01:00