Commit bdccb37
authored
[ty] Apply function specialization to all overloads (astral-sh#18020)
Function literals have an optional specialization, which is applied to
the parameter/return type annotations lazily when the function's
signature is requested. We were previously only applying this
specialization to the final overload of an overloaded function.
This manifested most visibly for `list.__add__`, which has an overloaded
definition in the typeshed:
https://github.com/astral-sh/ruff/blob/b398b8363104347fe80f1d5241718f90fb637f84/crates/ty_vendored/vendor/typeshed/stdlib/builtins.pyi#L1069-L1072
Closes astral-sh/ty#3141 parent 3ccc0ed commit bdccb37
File tree
5 files changed
+110
-86
lines changed- crates/ty_python_semantic
- resources/mdtest/generics
- legacy
- pep695
- src
- types
5 files changed
+110
-86
lines changedLines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
454 | 454 | | |
455 | 455 | | |
456 | 456 | | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
457 | 479 | | |
458 | 480 | | |
459 | 481 | | |
| |||
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
350 | 370 | | |
351 | 371 | | |
352 | 372 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3418 | 3418 | | |
3419 | 3419 | | |
3420 | 3420 | | |
3421 | | - | |
3422 | | - | |
3423 | | - | |
3424 | | - | |
3425 | | - | |
3426 | | - | |
3427 | | - | |
3428 | | - | |
3429 | | - | |
3430 | | - | |
| 3421 | + | |
| 3422 | + | |
| 3423 | + | |
| 3424 | + | |
3431 | 3425 | | |
3432 | 3426 | | |
3433 | 3427 | | |
| |||
3785 | 3779 | | |
3786 | 3780 | | |
3787 | 3781 | | |
3788 | | - | |
3789 | | - | |
3790 | | - | |
3791 | | - | |
3792 | | - | |
3793 | | - | |
3794 | | - | |
3795 | | - | |
| 3782 | + | |
3796 | 3783 | | |
3797 | 3784 | | |
3798 | 3785 | | |
| |||
6561 | 6548 | | |
6562 | 6549 | | |
6563 | 6550 | | |
6564 | | - | |
| 6551 | + | |
| 6552 | + | |
6565 | 6553 | | |
6566 | | - | |
6567 | | - | |
6568 | | - | |
6569 | | - | |
6570 | | - | |
6571 | | - | |
6572 | | - | |
| 6554 | + | |
| 6555 | + | |
| 6556 | + | |
6573 | 6557 | | |
6574 | 6558 | | |
6575 | 6559 | | |
6576 | | - | |
6577 | | - | |
6578 | | - | |
6579 | | - | |
6580 | | - | |
6581 | | - | |
6582 | | - | |
6583 | | - | |
6584 | | - | |
6585 | | - | |
6586 | | - | |
6587 | | - | |
6588 | | - | |
6589 | | - | |
6590 | | - | |
6591 | | - | |
6592 | 6560 | | |
6593 | 6561 | | |
6594 | | - | |
6595 | | - | |
6596 | | - | |
6597 | | - | |
6598 | | - | |
6599 | | - | |
6600 | | - | |
6601 | | - | |
6602 | | - | |
6603 | | - | |
| 6562 | + | |
| 6563 | + | |
| 6564 | + | |
| 6565 | + | |
6604 | 6566 | | |
6605 | 6567 | | |
6606 | 6568 | | |
| |||
6671 | 6633 | | |
6672 | 6634 | | |
6673 | 6635 | | |
6674 | | - | |
| 6636 | + | |
6675 | 6637 | | |
6676 | 6638 | | |
6677 | 6639 | | |
| |||
6739 | 6701 | | |
6740 | 6702 | | |
6741 | 6703 | | |
| 6704 | + | |
6742 | 6705 | | |
6743 | | - | |
6744 | | - | |
6745 | | - | |
6746 | | - | |
6747 | | - | |
6748 | | - | |
6749 | | - | |
6750 | | - | |
6751 | | - | |
6752 | | - | |
6753 | | - | |
| 6706 | + | |
| 6707 | + | |
| 6708 | + | |
| 6709 | + | |
| 6710 | + | |
| 6711 | + | |
| 6712 | + | |
| 6713 | + | |
| 6714 | + | |
| 6715 | + | |
| 6716 | + | |
| 6717 | + | |
| 6718 | + | |
| 6719 | + | |
| 6720 | + | |
6754 | 6721 | | |
6755 | | - | |
| 6722 | + | |
| 6723 | + | |
| 6724 | + | |
| 6725 | + | |
| 6726 | + | |
| 6727 | + | |
| 6728 | + | |
| 6729 | + | |
6756 | 6730 | | |
6757 | 6731 | | |
6758 | 6732 | | |
| |||
6774 | 6748 | | |
6775 | 6749 | | |
6776 | 6750 | | |
6777 | | - | |
| 6751 | + | |
6778 | 6752 | | |
6779 | 6753 | | |
6780 | 6754 | | |
6781 | 6755 | | |
6782 | 6756 | | |
6783 | | - | |
6784 | | - | |
6785 | | - | |
6786 | | - | |
6787 | | - | |
| 6757 | + | |
6788 | 6758 | | |
6789 | 6759 | | |
6790 | 6760 | | |
| |||
6854 | 6824 | | |
6855 | 6825 | | |
6856 | 6826 | | |
6857 | | - | |
| 6827 | + | |
6858 | 6828 | | |
6859 | 6829 | | |
6860 | 6830 | | |
| |||
7114 | 7084 | | |
7115 | 7085 | | |
7116 | 7086 | | |
| 7087 | + | |
7117 | 7088 | | |
7118 | 7089 | | |
7119 | 7090 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
121 | | - | |
122 | | - | |
| 121 | + | |
| 122 | + | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
| 131 | + | |
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
150 | | - | |
| 149 | + | |
| 150 | + | |
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
198 | 202 | | |
199 | 203 | | |
200 | 204 | | |
| |||
309 | 313 | | |
310 | 314 | | |
311 | 315 | | |
312 | | - | |
313 | | - | |
| 316 | + | |
| 317 | + | |
314 | 318 | | |
315 | | - | |
| 319 | + | |
316 | 320 | | |
317 | | - | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
318 | 326 | | |
319 | 327 | | |
320 | 328 | | |
| |||
1743 | 1751 | | |
1744 | 1752 | | |
1745 | 1753 | | |
1746 | | - | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
1747 | 1758 | | |
1748 | 1759 | | |
1749 | 1760 | | |
0 commit comments