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

[ty] Complete support for `ParamSpec`

#21445Merged
Comparing
dhruv/paramspec-args-kwargs
(
e5a4f59
) with
main
(
f29436c
)
CodSpeed Performance Gauge
0%
Untouched
13
Skipped
30
Archived
9

Benchmarks

52 total
ty_micro[complex_constrained_attributes_2]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_2
CodSpeed Performance Gauge
+1%
67.7 ms67.3 ms
ty_micro[complex_constrained_attributes_3]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_3
CodSpeed Performance Gauge
0%
71.4 ms71.2 ms
DateType
crates/ruff_benchmark/benches/ty.rs::project::datetype::project
CodSpeed Performance Gauge
0%
252.6 ms252.1 ms
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_tuple_assignments
CodSpeed Performance Gauge
0%
66.2 ms66.1 ms
ty_micro[many_enum_members]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members
CodSpeed Performance Gauge
0%
125.9 ms125.8 ms
attrs
crates/ruff_benchmark/benches/ty.rs::project::attrs::project
CodSpeed Performance Gauge
0%
451.7 ms451.7 ms
anyio
crates/ruff_benchmark/benches/ty.rs::project::anyio::project
CodSpeed Performance Gauge
0%
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
0%
67.4 ms67.5 ms
ty_micro[complex_constrained_attributes_1]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_1
CodSpeed Performance Gauge
0%
67.6 ms67.6 ms
ty_micro[many_string_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_string_assignments
CodSpeed Performance Gauge
0%
85.1 ms85.3 ms
ty_check_file[cold]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_cold
CodSpeed Performance Gauge
0%
137.2 ms137.6 ms
ty_check_file[incremental]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_incremental
CodSpeed Performance Gauge
0%
6.9 ms6.9 ms
hydra-zen
crates/ruff_benchmark/benches/ty.rs::project::hydra::project
CodSpeed Performance Gauge
-2%
1.1 s1.2 s
formatter[large/dataset.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
Skipped
9.7 ms*
formatter[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
Skipped
1.9 ms*
lexer[large/dataset.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer
Skipped
1.1 ms*
formatter[numpy/globals.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
Skipped
248.7 µs*
formatter[unicode/pypinyin.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
Skipped
677.9 µs*
lexer[unicode/pypinyin.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer
Skipped
77.4 µs*
lexer[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer
Skipped
222.6 µs*
lexer[pydantic/types.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer
Skipped
496.8 µs*
linter/all-with-preview-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
Skipped
5.2 ms*
formatter[pydantic/types.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
Skipped
3.6 ms*
linter/all-with-preview-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
Skipped
22.8 ms*
parser[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
Skipped
947.9 µs*

Commits

Click on a commit to change the comparison range
Base
main
f29436c
-0.38%
Add support for `P.args` and `P.kwargs`
97dd83d
4 months ago
by dhruvmanila
-0.33%
Avoid raising error when `P` is used in invalid context
c32615a
4 months ago
by dhruvmanila
+0.18%
Merge branch 'main' into dhruv/paramspec-args-kwargs
b6d20ee
4 months ago
by dhruvmanila
+0.55%
Restrict callable upcast during specialization
d0b846a
4 months ago
by dhruvmanila
-0.29%
Consider `(*args: P.args, **kwargs: P.kwargs)` equivalent to `(**P)`
683e8b7
4 months ago
by dhruvmanila
+0.1%
Fix constraint set to represent `P1 = P2`
87cb422
4 months ago
by dhruvmanila
+0.92%
Merge branch 'main' into dhruv/paramspec-args-kwargs
06e3737
4 months ago
by dhruvmanila
-0.35%
Fix merge errors
31438c0
3 months ago
by dhruvmanila
-0.61%
Try using a sub-call to evaluate paramspec
3680d94
3 months ago
by dhruvmanila
-0.1%
Support `ParamSpec` in explicit specialization
4984259
3 months ago
by dhruvmanila
+0.68%
Fix after merging latest main
6fd1c21
3 months ago
by dhruvmanila
-0.07%
Merge branch 'main' into dhruv/paramspec-args-kwargs
0f9f117
3 months ago
by dhruvmanila
-0.7%
Remove implicit type alias TODO related to ParamSpec
c5c2e70
3 months ago
by dhruvmanila
-0.39%
Add more assignability check
dfeec73
3 months ago
by dhruvmanila
+0.64%
Update mdtest
ed9b4c2
3 months ago
by dhruvmanila
-0.7%
Fix fuzzer panics
198099a
3 months ago
by dhruvmanila
+0.55%
Display gradual parameters on single line
a67e53f
3 months ago
by dhruvmanila
-4.52%
Merge branch 'main' into dhruv/paramspec-args-kwargs
0eeb3b1
3 months ago
by dhruvmanila
+4.2%
Correctly pass around the ParamSpec type variable
b358231
3 months ago
by dhruvmanila
-0.21%
Merge branch 'main' into dhruv/paramspec-args-kwargs
86b4fe2
3 months ago
by dhruvmanila
+0.6%
Add upper bound for `P.args` and `P.kwargs`
cb4aa2d
3 months ago
by dhruvmanila
-0.21%
Allow passing `Any` to specialize a `ParamSpec`
ca5ecc8
3 months ago
by dhruvmanila
+0.22%
Merge branch 'main' into dhruv/paramspec-args-kwargs
4c86300
3 months ago
by dhruvmanila
+0.45%
Remove leftover code from using the new solver
9767d9e
3 months ago
by dhruvmanila
-1.33%
Apply type mapping for `PartialSpecialization` as well
d81f15d
3 months ago
by dhruvmanila
-0.01%
Merge branch 'main' into dhruv/paramspec-args-kwargs
a1749e0
3 months ago
by dhruvmanila
-3.27%
Expand documentation
c1ef796
3 months ago
by dhruvmanila
+3.99%
Run pre-commit
18167b1
3 months ago
by dhruvmanila
+0.08%
Add TODO about variance
e5a4f59
3 months ago
by dhruvmanila
© 2026 CodSpeed Technology
Home Terms Privacy Docs