You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[BE] Fix B018 useless-expression violations in inductor and fx unification (#191866)
---
### Addendum (post-review): F811 evidence and runtime verification
**Literal F811 output** with the two noqas stripped from the PR's files (CI-pinned ruff 0.14.4):
```
core.py:140:5: F811 Redefinition of unused `unify` from line 118: `unify` redefined here
variable.py:63:5: F811 Redefinition of unused `isvar` from line 56: `isvar` redefined here
Found 2 errors.
```
With the noqas present, the full-config check reports `All checks passed!` — so under RUF100 both the presence and the placement are exactly what ruff requires.
**Why only these two sites**: ruff's F811 exempts underscore-prefixed names (dummy-variable convention). Minimal repro — two identical `@dispatch` overload chains, one named `_priv`, one named `pub`:
```
f811_repro.py:9:5: F811 Redefinition of unused `pub` from line 7: `pub` redefined here
Found 1 error.
```
Only `pub` is flagged. That is why the five `_reify` redefinitions (and `_eval_is_ge` in `torch/utils/_sympy/singleton_int.py`) need no suppression while the public `unify`/`isvar` do.
**Runtime verification**: imported the changed `unification` package and the unmodified main version side by side as standalone packages (the subtree is stdlib-only + vendored multipledispatch) and compared 18 aspects: `unify`/`reify`/`isvar` behavior on tuples/lists/dicts/vars including exact exception types and messages for the unsupported-signature cases, plus the complete dispatch registries of `unify`, `isvar`, `_unify`, and `_reify`. All 18 identical (package-name normalized). This exercises the import-time `@dispatch` registration side effects directly.
Pull Request resolved: #191866
Approved by: https://github.com/jansel
0 commit comments