Avatar for the astral-sh user
astral-sh
ruff
BlogDocsChangelog

[ty] Infer typevar specializations for implicit generic protocols

#21902Merged
Comparing
dcreager/genprop
(
b66cf8b
) with
main
(
8cfeae8
)
CodSpeed Performance Gauge
-19%
Improvement
1
Regression
5
Untouched
48

Benchmarks

54 total
DateType
crates/ruff_benchmark/benches/ty.rs::project::datetype::project
CodSpeed Performance Gauge
+11%
232.9 ms210 ms
pandas
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
-6%
73 s77.8 s
sympy
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
-5%
52.4 s55.3 s
static_frame
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
-11%
26.7 s29.9 s
colour_science
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
-19%
104.3 s129.1 s
freqtrade
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
-3%
8.6 s8.9 s
attrs
crates/ruff_benchmark/benches/ty.rs::project::attrs::project
CodSpeed Performance Gauge
-6%
435.7 ms461.3 ms
parser[pydantic/types.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+3%
2.1 ms2 ms
parser[large/dataset.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+2%
5.2 ms5.1 ms
altair
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+1%
4.8 s4.8 s
multithreaded
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
1.3 s1.3 s
anyio
crates/ruff_benchmark/benches/ty.rs::project::anyio::project
CodSpeed Performance Gauge
0%
1.2 s1.2 s
pydantic
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
7.2 s7.2 s
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_tuple_assignments
CodSpeed Performance Gauge
0%
65.3 ms65.2 ms
ty_micro[many_enum_members]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members
CodSpeed Performance Gauge
0%
123.3 ms123.2 ms
lexer[numpy/globals.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer
CodSpeed Performance Gauge
0%
30.1 µs30.1 µs
lexer[unicode/pypinyin.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer
CodSpeed Performance Gauge
0%
79 µs79 µs
parser[numpy/globals.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
0%
108 µs107.9 µs
linter/default-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
1 ms1 ms
linter/all-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules
CodSpeed Performance Gauge
0%
19.3 ms19.3 ms
formatter[numpy/globals.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
CodSpeed Performance Gauge
0%
246 µs246 µs
linter/all-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules
CodSpeed Performance Gauge
0%
8.8 ms8.8 ms
linter/all-with-preview-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
CodSpeed Performance Gauge
0%
10.3 ms10.3 ms
linter/default-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
4.3 ms4.3 ms
linter/all-with-preview-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
CodSpeed Performance Gauge
0%
5.2 ms5.2 ms

Commits

Click on a commit to change the comparison range
Base
main
8cfeae8
-76.49%
paramspec args/kwargs don't have a bound
138bf79
1 month ago
by dcreager
-0.63%
fix merge conflicts
f1188c7
1 month ago
by dcreager
-0.06%
punt on very large union upper bounds for now
f735222
1 month ago
by dcreager
+0.51%
clippy
180b389
1 month ago
by dcreager
+3.4%
only use constraint sets for protocols
bb07775
1 month ago
by dcreager
+68.45%
merge main
90cc1ee
14 days ago
by dcreager
-7.35%
ignore new diagnostics in conformance script
6b9fd34
13 days ago
by dcreager
+8.15%
merge in solution caching
a422255
13 days ago
by dcreager
-2.14%
deeper short-circuit check in distributed AND/OR
f33c940
10 days ago
by dcreager
0%
update tanjun diagnostic count
af151a8
10 days ago
by dcreager
0%
and colour-science too
4518404
10 days ago
by dcreager
-7.69%
sympy too
8b1b2f0
10 days ago
by dcreager
+2.42%
merge main
7ccd2df
7 days ago
by dcreager
-8%
clean up callable inference error handling
06f1a23
6 days ago
by dcreager
-0.11%
don't capture enclosing typevars
4668e5d
6 days ago
by dcreager
+0.19%
remove spurious lock file
1fe411b
5 days ago
by dcreager
+0.13%
perform nominal check first moar better
b66cf8b
5 days ago
by dcreager
© 2026 CodSpeed Technology
Home Terms Privacy Docs