[ty] route constructor calls through bindings
by Hugo-Polloli
·
Feb 06, 2026 at 19:12 UTC
·
scan-40dcbe385eb544ef
Get this automatically on every PR
Install the Axiomo GitHub App to get Signals as check runs and PR comments on every pull request.
Risk level: Critical (95%)
Route constructor calls through bindings to ensure instance-typed returns
types.rs and bind.rs show changes utilizing constructor_bindings()
class.rs removal of legacy code
Updates in types.rs and builder.rs reflect overload checks
consistency in call site handling in bind.rs
mdtest/constructor.md additions confirm new tests
Established contributor with 5 merged PRs. unfamiliar with 9 files being modified.
Review 3 high-priority file(s)
crates/ty_python_semantic/src/types.rs
+1298
1298 lines changed; Source code
crates/ty_python_semantic/src/types/call/bind.rs
+123
123 lines changed; Source code
crates/ty_python_semantic/src/types/infer/builder.rs
+176
176 lines changed; Source code
crates/ty_python_semantic/src/types/class.rs
+43
Source code
crates/ty_python_semantic/resources/mdtest/call/constructor.md
+111
111 lines changed
crates/ty_python_semantic/resources/mdtest/call/union.md
+41
Standard file
crates/ty_python_semantic/resources/mdtest/decorators.md
+13
Standard file
crates/ty_python_semantic/resources/mdtest/type_of/generics.md
+17
Standard file
crates/ty_python_semantic/resources/mdtest/generics/legacy/classes.md
+6
Standard file
crates/ty_python_semantic/resources/mdtest/generics/pep695/classes.md
+6
Standard file
+1 more files
196
minutes to review
extensive
effort level
none
staleness risk
Schedule dedicated review time; consider pair review
Critical risk level requires changes before approval
Consider breaking into smaller PRs
Why is lint_passing missing? Consider adding this check.
Why is security_scan_clean missing? Consider adding this check.