ruff
[ty] Infer typevar specializations for `Callable` types
#21551
Merged

[ty] Infer typevar specializations for `Callable` types #21551

carljm merged 114 commits into main from dcreager/callable-return
dcreager
astral-sh-bot
astral-sh-bot
AlexWaygood AlexWaygood added ty
dcreager dcreager force pushed from 965a9f8a to dbecc680 130 days ago
dcreager dcreager changed the title [ty] Infer typevar specializations for `Callable` return types [ty] Infer typevar specializations for `Callable` types 130 days ago
dcreager dcreager force pushed from 7995e432 to f89ec1a8 130 days ago
dcreager
dcreager commented on 2025-11-26
dcreager add more sequents
544dafa6
dcreager add for_each_path
998b20f0
dcreager it's a start
3b509e90
dcreager add ConstraintSetAssignability relation
20ecb561
dcreager use constraint set assignable
fc2f1750
dcreager it works!
b7fb6797
dcreager these need to be positional only to be assignable
9950c126
dcreager this gets recursively expanded now
fedc7546
dcreager clean up the diff
2c626743
dcreager dcreager force pushed from 38682941 to 2c626743 130 days ago
dcreager dcreager added ecosystem-analyzer
dcreager dcreager marked this pull request as ready for review 130 days ago
dcreager dcreager requested a review from carljm carljm 130 days ago
dcreager dcreager requested a review from AlexWaygood AlexWaygood 130 days ago
dcreager dcreager requested a review from sharkdp sharkdp 130 days ago
astral-sh-bot
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
2b949b3e
dcreager mark these as TODO
d88120b1
dcreager mdlint
957304ec
carljm
dcreager
AlexWaygood
dcreager
dcreager hackity hack
7bbf8393
dcreager
dcreager clippity bippity
30452586
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
a303b7a8
dcreager
dcreager don't create T ≤ T constraints
58c67fd4
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
carljm
dcreager carry over failing test from conformance suite
beb2956a
dcreager even more hack
a0f64bd0
dcreager
dcreager fix tests
d3fd9883
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
codspeed-hq
dcreager
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
2e46c8de
dcreager add failing tests
db5834df
dcreager allow multiple overloads/callables when inferring
77ce24a5
dcreager use self annotation in synthesized __init__ callable
85e6143e
dcreager doc
3bcca624
dcreager self
75e9d66d
dcreager skip non-inferable
94aca37c
dcreager generic
b90cdfc2
dcreager fix test
1e33d25d
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
carljm
dcreager catch self-referential typevars
b3141198
dcreager dcreager force pushed from 0a19c5d6 to b3141198 122 days ago
dcreager
dcreager use ConstraintSetAssignability for constraint bounds
54a4f2ec
dcreager treat each overload separately
33843927
dcreager format, really?!?!
8c7e20ab
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
dcreager
dcreager
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
c0dc6cfa
dcreager pull this out into a helper method
c74eb12d
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
db488e3c
dcreager cs assignability for paramspecs
056258c7
dcreager don't throw away return type
657685f7
dcreager oh hey that's a real bug
b84a35f2
dcreager different TODO explanation for overload example
a372e63b
dcreager callable invariance rears its head again
d47e9a60
dcreager Revert "skip non-inferable"
61381522
dcreager do this at the overloads level
c60560f3
dcreager dcreager marked this pull request as draft 121 days ago
dcreager gotta get those return types too
ecb9c130
dcreager don't pivot on never or object
22c7fc45
dcreager not failing anymore
c56d5cc2
dcreager any here
b3e48552
dcreager update test TODOs
81fc51e1
dcreager clippy
72e0c32a
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
f29200c7
dcreager dcreager force pushed from 0138dc34 to f29200c7 119 days ago
dcreager group typevars by binding context
f23ae75b
dcreager abstract over any mention of a typevar
f82b3f1e
dcreager skip current type when specializing
9a378617
dcreager dcreager force pushed from 1fe5ba43 to 5a5474f7 117 days ago
dcreager dcreager force pushed from 5a5474f7 to e99fe240 117 days ago
dcreager dcreager force pushed from 56b24170 to 8a8f4bce 117 days ago
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
4f7ad7bb
dcreager dcreager force pushed from 8a8f4bce to 4f7ad7bb 116 days ago
dcreager add more comments
b1ede888
dcreager
dcreager commented on 2025-12-10
dcreager dcreager marked this pull request as ready for review 116 days ago
dcreager
carljm
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
a892be31
dcreager update tests
bfde3e41
dcreager clean up the diff
f624bfdf
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
carljm bump expected diagnostics for static-frame
c6a4e1c8
astral-sh-bot
carljm carljm removed ecosystem-analyzer
carljm carljm added ecosystem-analyzer
carljm
carljm
carljm
carljm
carljm
carljm
carljm
carljm commented on 2025-12-12
dhruvmanila
dhruvmanila commented on 2025-12-12
dcreager add mapping for lower bound too
4bcca58c
dcreager no really
c85f102e
dcreager whelp those are backwards
73acf0a9
dcreager calculate variance from parameter type
2950af4f
dcreager limit to valid specializations
2fd7a7d9
dcreager never?
e476624e
dcreager not needed anymore
690310ce
dcreager Merge remote-tracking branch 'origin/main' into gggg
c94fbe20
dcreager fix test
99ec0be4
dcreager add materialization test
25a6690c
dcreager only when function defs are same
e9065265
dcreager add sig todo
068eb1f5
dcreager Merge remote-tracking branch 'origin/dcreager/callable-return' into d…
8069064a
AlexWaygood AlexWaygood removed ecosystem-analyzer
AlexWaygood AlexWaygood added ecosystem-analyzer
AlexWaygood bump expected sympy diagnostics in benchmark
8871fdda
AlexWaygood
AlexWaygood commented on 2025-12-13
dcreager dcreager force pushed from b3dcc070 to 874dc7ee 113 days ago
dcreager dcreager force pushed from 874dc7ee to 8871fdda 112 days ago
dcreager add canonically_ordered
ddcd76c5
dcreager canonical ordering for constraint set mappings
3c811c19
dcreager fix py-fuzzer test failure
b9ecab1f
dcreager codex attempt 1
86555989
dcreager codex 2
86271d60
dcreager restore TODOs
e583cb76
dcreager doc
bdaf8e58
dcreager simpler source_order_for
a4a3aff8
dcreager remove source_order_for
d223f64a
dcreager lots of renaming
49ca97a2
dcreager sort specialize_constrained by source_order
5a8a9500
dcreager reuse self source_order
92894d37
dcreager more comment
649c7bce
dcreager document overall approach
1f34f437
dcreager use source order in specialize_constrained too
7e2ea8bd
dcreager fix test expectation
da31e138
dcreager remove now-unused items
ccb03d3b
dcreager more comments
019db2a2
dcreager document display source_order
358185b5
dcreager only fold once
63c75d85
dcreager don't always bump
88eb5eba
dcreager place bounds/constraints first
7f4893d2
dcreager include source_order in display_graph output
d9429754
dcreager fix test expectations (again)
1dd3cf0e
dcreager clippy
cba45acd
dcreager Merge branch 'dcreager/source-order-constraints' into dcreager/callab…
f8a5d042
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
dfcdbcff
dcreager
dcreager track source_order in PathAssignments
94b4dd86
dcreager Revert "canonical ordering for constraint set mappings"
42185b64
dcreager Revert "add canonically_ordered"
483f3420
dcreager return a slice!
a9140716
dcreager add note about paramspec overloads
2614be36
dcreager add a bunch of callable reveals
26c847c2
dcreager fix Class3 example
4e3dd588
dcreager add TODO
2897d498
dcreager
dcreager commented on 2025-12-15
dcreager dcreager removed ecosystem-analyzer
dcreager dcreager added ecosystem-analyzer
dcreager Revert "fix py-fuzzer test failure"
06a02fc4
AlexWaygood AlexWaygood removed ecosystem-analyzer
AlexWaygood AlexWaygood added ecosystem-analyzer
dcreager Merge remote-tracking branch 'origin/main' into dcreager/callable-return
44256dea
carljm
carljm
carljm
carljm
dcreager
carljm
carljm
carljm
dcreager
carljm
carljm
dcreager
carljm
dcreager
dcreager
carljm
dcreager
dcreager Merge branch 'main' into dcreager/callable-return
75b85163
dcreager sort those paths
e79986ab
dcreager build multiple constraints on a path into union/intersection
18ac8e6a
AlexWaygood AlexWaygood removed ecosystem-analyzer
AlexWaygood AlexWaygood added ecosystem-analyzer
dcreager use vecs
5b01dbae
dcreager test non-paramspec callables individually
0cc5e03b
AlexWaygood AlexWaygood removed ecosystem-analyzer
AlexWaygood AlexWaygood added ecosystem-analyzer
dcreager
carljm
carljm
carljm carljm removed ecosystem-analyzer
carljm carljm added ecosystem-analyzer
carljm
dcreager
carljm
carljm
carljm
carljm approved these changes on 2025-12-16
carljm carljm merged c02bd11b into main 110 days ago
carljm carljm deleted the dcreager/callable-return branch 110 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone