ruff
[ty] Complete support for `ParamSpec`
#21445
Merged

[ty] Complete support for `ParamSpec` #21445

dhruvmanila merged 79 commits into main from dhruv/paramspec-args-kwargs
dhruvmanila
dhruvmanila Add support for `P.args` and `P.kwargs`
97dd83da
dhruvmanila dhruvmanila added ty
dhruvmanila dhruvmanila changed the title Add support for `P.args` and `P.kwargs` [ty] Add support for `P.args` and `P.kwargs` 220 days ago
astral-sh-bot
astral-sh-bot
dhruvmanila Avoid raising error when `P` is used in invalid context
c32615af
dhruvmanila Small docs tweak
ddedf204
dhruvmanila Update `CallableType` to recode as ParamSpec value
e4229529
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
b6d20eec
dhruvmanila Remove debug logs
0f1dddc7
dhruvmanila Initial attempt to add to generic infra
e34532cc
dhruvmanila simplify generic code
46a45b79
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
3b7cc3d8
dhruvmanila Naively apply type mapping
336edc4e
dhruvmanila Update mdtest
4697fcb1
dhruvmanila
dhruvmanila
dhruvmanila
dhruvmanila Restrict callable upcast during specialization
d0b846ae
dhruvmanila Consider `(*args: P.args, **kwargs: P.kwargs)` equivalent to `(**P)`
683e8b70
dhruvmanila Fix constraint set to represent `P1 = P2`
87cb4221
dhruvmanila Raise invalid argument type when `P.args` is matched against `P.kwargs`
6270f826
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
06e37377
dhruvmanila Display paramspec parameter list on single line
8af81946
dhruvmanila Merge two branches of callable in specialization builder
ecb4b842
dhruvmanila wip
1dca873f
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
014d5bce
dhruvmanila Fix merge errors
31438c0e
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
c6e247e3
dhruvmanila Try using a sub-call to evaluate paramspec
3680d94c
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
a81b550c
dhruvmanila Support `ParamSpec` in explicit specialization
4984259e
dhruvmanila Update `paramspec_value` to take parameters instead of signature
9032d07c
dhruvmanila Correctly implement the paramspec type / value inference
b37f5ce2
dhruvmanila Avoid replacing paramspec variable itself for default type
b0511976
dhruvmanila Run pre-commit
b11331ff
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
454ce6f6
dhruvmanila Fix after merging latest main
6fd1c21e
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
0f9f1176
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
f19ca407
dhruvmanila Remove implicit type alias TODO related to ParamSpec
c5c2e70d
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
2eab441d
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
af5f5e70
dhruvmanila Fix default specialization for paramspec
12d2fa41
dhruvmanila Apply type mapping for return type while specializing paramspec
3056776f
dhruvmanila Avoid creating union when `P` is mapped multiple times
f1f79bad
dhruvmanila Remove paramspec special casing
bf908333
dhruvmanila Update existing mdtest
427966a7
dhruvmanila Add paramspec test cases
b5efe3c6
dhruvmanila Relation checks for `P.args`/`P.kwargs`
e11d8d72
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
a57874c5
dhruvmanila Add more assignability check
dfeec73c
dhruvmanila Avoid bound typevar for an unbounded paramspec
6c570280
dhruvmanila Update mdtest
ed9b4c2d
dhruvmanila Revert method rename
75e18a48
dhruvmanila Fix fuzzer panics
198099a1
dhruvmanila Fix ide tests
106253f9
dhruvmanila Display gradual parameters on single line
a67e53f6
dhruvmanila
dhruvmanila commented on 2025-12-02
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
0eeb3b19
codspeed-hq
dhruvmanila Correctly pass around the ParamSpec type variable
b3582316
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
75c850c7
dhruvmanila Pass generic context during paramspec specialization
0db8bd65
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
80b6a73c
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
86b4fe2e
dhruvmanila dhruvmanila added ecosystem-analyzer
astral-sh-bot
dhruvmanila Add upper bound for `P.args` and `P.kwargs`
cb4aa2d7
dhruvmanila Allow `ParamSpec` as annotation (revert)
0a1a26df
dhruvmanila Allow passing `Any` to specialize a `ParamSpec`
ca5ecc87
dhruvmanila dhruvmanila removed ecosystem-analyzer
dhruvmanila dhruvmanila added ecosystem-analyzer
dhruvmanila dhruvmanila changed the title [ty] Add support for `P.args` and `P.kwargs` [ty] Complete support for `ParamSpec` 201 days ago
dhruvmanila dhruvmanila marked this pull request as ready for review 201 days ago
dhruvmanila dhruvmanila requested a review from carljm carljm 201 days ago
dhruvmanila dhruvmanila requested a review from AlexWaygood AlexWaygood 201 days ago
dhruvmanila dhruvmanila requested a review from sharkdp sharkdp 201 days ago
dhruvmanila dhruvmanila requested a review from dcreager dcreager 201 days ago
dhruvmanila dhruvmanila requested a review from MichaReiser MichaReiser 201 days ago
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
4c863000
dhruvmanila Add test for operations on `P.args` / `P.kwargs`
6cfc7b9e
dhruvmanila Add tests with overloads
774389b4
dhruvmanila Remove leftover code from using the new solver
9767d9e6
dhruvmanila Run pre-commit
5c870858
AlexWaygood
AlexWaygood commented on 2025-12-04
AlexWaygood
AlexWaygood approved these changes on 2025-12-04
dcreager
dcreager commented on 2025-12-04
dcreager
dcreager commented on 2025-12-04
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
cd2b7a8f
dhruvmanila Address Alex's review comment on mdtests
cffe40f9
dhruvmanila Address Alex's review comments on code changes
bffdffe4
dhruvmanila Apply type mapping for `PartialSpecialization` as well
d81f15d6
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
a1749e04
dhruvmanila Expand documentation
c1ef796b
dhruvmanila Add regression test for the cycle
423fda20
dhruvmanila Merge branch 'main' into dhruv/paramspec-args-kwargs
edb26d21
dhruvmanila Add explanation about allowing `Any` to specialize `ParamSpec`
9a578a38
dhruvmanila Add test cases around instance attributes and `Final`
a48ac5e9
dhruvmanila Use `assert!`
0dc24928
dhruvmanila Fix TODO comment
72130206
dhruvmanila Run pre-commit
18167b1b
dcreager
dcreager approved these changes on 2025-12-05
dhruvmanila Add TODO about variance
e5a4f596
dhruvmanila dhruvmanila merged b6231895 into main 199 days ago
dhruvmanila dhruvmanila deleted the dhruv/paramspec-args-kwargs branch 199 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone