astral-sh
ruff
BlogDocsChangelog

[ty] handle recursive type inference properly

#20566Merged
Comparing
mtshiba:recursive-inference
(
278607f
) with
main
(
adf4f1e
)
CodSpeed Performance Gauge
+7%
Improvements
5
Untouched
17
Skipped
30

Benchmarks

Skipped (30)

Improved

medium[static-frame]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+7%
17.4 s16.2 s
ty_micro[complex_constrained_attributes_2]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_2
CodSpeed Performance Gauge
+5%
70.6 ms67.3 ms
ty_micro[complex_constrained_attributes_1]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_1
CodSpeed Performance Gauge
+5%
70.8 ms67.5 ms
hydra-zen
crates/ruff_benchmark/benches/ty.rs::project::hydra::project
CodSpeed Performance Gauge
+4%
1.1 s1 s
large[sympy]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+4%
57.5 s55 s

Passed

small[freqtrade]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+4%
7.2 s6.9 s
ty_check_file[cold]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_cold
CodSpeed Performance Gauge
+4%
138.6 ms133.5 ms
attrs
crates/ruff_benchmark/benches/ty.rs::project::attrs::project
CodSpeed Performance Gauge
+3%
449.5 ms435.8 ms
medium[pandas]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+3%
56.6 s55 s
small[altair]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+3%
4.2 s4.1 s
small[tanjun]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+3%
2.4 s2.4 s
medium[colour-science]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+2%
20.3 s19.9 s
DateType
crates/ruff_benchmark/benches/ty.rs::project::datetype::project
CodSpeed Performance Gauge
+2%
255.2 ms249.5 ms
multithreaded[altair]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+2%
1.2 s1.2 s
ty_micro[many_enum_members]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members
CodSpeed Performance Gauge
+2%
94.8 ms93.1 ms
anyio
crates/ruff_benchmark/benches/ty.rs::project::anyio::project
CodSpeed Performance Gauge
+1%
1.4 s1.4 s
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_tuple_implicit_instance_attributes
CodSpeed Performance Gauge
+1%
67.4 ms67 ms
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_tuple_assignments
CodSpeed Performance Gauge
0%
66.2 ms66 ms
ty_micro[many_string_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_string_assignments
CodSpeed Performance Gauge
0%
76.9 ms76.8 ms
ty_micro[complex_constrained_attributes_3]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_3
CodSpeed Performance Gauge
0%
70.7 ms70.8 ms
ty_check_file[incremental]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_incremental
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
large[pydantic]
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
201.2 s201.7 s

Commits

Click on a commit to change the comparison range
Base
main
adf4f1e
-9.92%
Merge branch 'main' into recursive-inference
de28c13
1 month ago
by mtshiba
0%
Update 1377_iteration_count_mismatch.md
a1e3d93
1 month ago
by mtshiba
0%
update salsa
b852be7
1 month ago
by mtshiba
+14.77%
revert unnecessary changes
d68e5c0
1 month ago
by mtshiba
-0.68%
Add examples of self-referential types
b0a7804
1 month ago
by mtshiba
+3.81%
the code in `pr_20962_comprehension_panics.md` no longer panics
eda8017
1 month ago
by mtshiba
+1.85%
Merge branch 'main' into recursive-inference
3653427
1 month ago
by mtshiba
-1.61%
Merge branch 'main' into recursive-inference
fa88ca3
1 month ago
by mtshiba
+0.45%
don't create a query cycle in the cycle recovery function
682a2e8
1 month ago
by mtshiba
+0.62%
Update builder.rs
65bb223
1 month ago
by mtshiba
-0.9%
revert unnecessary changes
0cf4eaf
1 month ago
by mtshiba
+1.63%
Merge branch 'main' into recursive-inference
91167f9
1 month ago
by mtshiba
-0.7%
fix fuzzer hang
2393f6a
1 month ago
by mtshiba
-1.3%
Merge branch 'main' into recursive-inference
74a3758
30 days ago
by mtshiba
-0.6%
revert unnecessary changes
e7b0dc5
30 days ago
by mtshiba
-0.08%
update salsa reflects the change in https://github.com/mtshiba/salsa/commit/9333447c568e5095a1376164ddaeb8135692b253
e879f8b
29 days ago
by mtshiba
+2.7%
Merge branch 'main' into recursive-inference
0353244
27 days ago
by mtshiba
-0.83%
refactor
597a4ae
27 days ago
by mtshiba
-0.09%
fix recursive type normalization for implicit union type alias
eede68f
26 days ago
by mtshiba
+1.06%
add `Type::expand_eagerly`
ac44afa
26 days ago
by mtshiba
-0.07%
Merge branch 'main' into recursive-inference
3b4db33
26 days ago
by mtshiba
0%
Update e2e__commands__debug_command.snap
2eea054
26 days ago
by mtshiba
-0.36%
Merge branch 'main' into recursive-inference
3bbac38
20 days ago
by mtshiba
-1.29%
use `salsa::Cycle`
46982fb
20 days ago
by mtshiba
-0.31%
Merge branch 'main' into recursive-inference
58fb95c
19 days ago
by mtshiba
-0.06%
fix union normalization
bd4977a
19 days ago
by mtshiba
+0.42%
Update pep613_type_aliases.md
8744543
18 days ago
by mtshiba
-0.64%
Merge branch 'main' into recursive-inference
aa5960c
18 days ago
by mtshiba
+0.18%
Update attributes.md
0abc06f
18 days ago
by mtshiba
+0.8%
improve handling of getting the generic context for legacy stub generic classes with cyclic bases
1d5e4dc
17 days ago
by mtshiba
+0.61%
add `Type::join_with_previous_cycle`
058f8ed
17 days ago
by mtshiba
-2.64%
Merge branch 'main' into recursive-inference
dc75cba
16 days ago
by mtshiba
+0.3%
infer subscript type expressions for union types
8527dee
16 days ago
by mtshiba
+0.84%
Revert "improve `ClassBase::try_from_type`" This reverts commit a54c8fdc9702a17854d0fd07614c0b22683e8264.
6fa94ac
16 days ago
by mtshiba
-0.88%
more comments
d30bbdf
16 days ago
by mtshiba
+1.25%
Merge branch 'main' into recursive-inference * main: [ty] Extend Liskov checks to also cover classmethods and staticmethods (#21598) Dogfood ty on the `scripts` directory (#21617) [ty] support generic aliases in `type[...]`, like `type[C[int]]` (#21552) [ty] Retain the function-like-ness of `Callable` types when binding `self` (#21614) [ty] Distinguish "unconstrained" from "constrained to any type" (#21539) Disable ty workspace diagnostics for VSCode users (#21620) [ty] Double click to insert inlay hint (#21600) [ty] Switch the error code from `unresolved-attribute` to `possibly-missing-attribute` for submodules that may not be available (#21618) [ty] Substitute for `typing.Self` when checking protocol members (#21569) [ty] Don't suggest things that aren't subclasses of `BaseException` after `raise` [ty] Add hint about resolved Python version when a user attempts to import a member added on a newer version (#21615)
9f3b455
16 days ago
by carljm
-1.08%
Merge branch 'main' into recursive-inference * main: [ty] Implement `typing.override` (#21627) [ty] Avoid expression reinference for diagnostics (#21267) [ty] Improve autocomplete suppressions of keywords in variable bindings [ty] Only suggest completions based on text before the cursor Implement goto-definition and find-references for global/nonlocal statements (#21616) [ty] Inlay Hint edit follow up (#21621) [ty] Implement lsp support for string annotations (#21577) [ty] Add 'remove unused ignore comment' code action (#21582) [ty] Refactor `CheckSuppressionContext` to use `DiagnosticGuard` (#21587) [ty] Improve several "Did you mean?" suggestions (#21597) [ty] Add more and update existing projects in `ty_benchmark` (#21536) [ty] fix ty playground initialization and vite optimization issues (#21471)
cbdc04f
15 days ago
by carljm
-0.28%
Update crates/ty_python_semantic/resources/mdtest/attributes.md Co-authored-by: Carl Meyer <carl@oddbird.net>
e748af9
15 days ago
by mtshiba
+0.13%
Update pep695_type_aliases.md
deb919a
14 days ago
by mtshiba
+0.16%
comment for `recursive_type_normalized_impl`
7f43950
14 days ago
by mtshiba
-0.32%
simplify boundtypevar case
278607f
14 days ago
by carljm
© 2025 CodSpeed Technology
Home Terms Privacy Docs