Commit b91f53c
authored
Narrow types based on collection containment (#20602)
We've wanted to do this for a long time, but previous attempt was
reverted due to issues like #17841
, #17864 ,
#17869
Following #20492 we should now be in
a position to do this narrowing
Fixes #3229
Fixes #20234
Fixes #18208
Fixes #167741 parent 3703273 commit b91f53c
File tree
6 files changed
+120
-18
lines changed- mypyc/irbuild
- mypy
- test-data/unit
- fixtures
6 files changed
+120
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6599 | 6599 | | |
6600 | 6600 | | |
6601 | 6601 | | |
| 6602 | + | |
| 6603 | + | |
| 6604 | + | |
6602 | 6605 | | |
6603 | 6606 | | |
6604 | 6607 | | |
| |||
6614 | 6617 | | |
6615 | 6618 | | |
6616 | 6619 | | |
6617 | | - | |
| 6620 | + | |
| 6621 | + | |
6618 | 6622 | | |
6619 | 6623 | | |
6620 | | - | |
6621 | | - | |
6622 | | - | |
| 6624 | + | |
| 6625 | + | |
| 6626 | + | |
| 6627 | + | |
| 6628 | + | |
| 6629 | + | |
| 6630 | + | |
| 6631 | + | |
| 6632 | + | |
| 6633 | + | |
| 6634 | + | |
6623 | 6635 | | |
6624 | | - | |
| 6636 | + | |
| 6637 | + | |
6625 | 6638 | | |
6626 | 6639 | | |
6627 | 6640 | | |
| |||
6638 | 6651 | | |
6639 | 6652 | | |
6640 | 6653 | | |
6641 | | - | |
| 6654 | + | |
6642 | 6655 | | |
6643 | 6656 | | |
6644 | 6657 | | |
6645 | | - | |
| 6658 | + | |
6646 | 6659 | | |
6647 | 6660 | | |
6648 | 6661 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
| 126 | + | |
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
142 | 141 | | |
143 | 142 | | |
144 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1373 | 1373 | | |
1374 | 1374 | | |
1375 | 1375 | | |
1376 | | - | |
| 1376 | + | |
1377 | 1377 | | |
1378 | | - | |
| 1378 | + | |
1379 | 1379 | | |
1380 | | - | |
| 1380 | + | |
1381 | 1381 | | |
1382 | | - | |
| 1382 | + | |
1383 | 1383 | | |
1384 | 1384 | | |
1385 | 1385 | | |
| |||
2315 | 2315 | | |
2316 | 2316 | | |
2317 | 2317 | | |
2318 | | - | |
2319 | | - | |
2320 | | - | |
| 2318 | + | |
| 2319 | + | |
2321 | 2320 | | |
2322 | 2321 | | |
2323 | 2322 | | |
| |||
2838 | 2837 | | |
2839 | 2838 | | |
2840 | 2839 | | |
| 2840 | + | |
| 2841 | + | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + | |
| 2845 | + | |
| 2846 | + | |
| 2847 | + | |
| 2848 | + | |
| 2849 | + | |
| 2850 | + | |
| 2851 | + | |
| 2852 | + | |
| 2853 | + | |
| 2854 | + | |
| 2855 | + | |
| 2856 | + | |
| 2857 | + | |
| 2858 | + | |
| 2859 | + | |
| 2860 | + | |
| 2861 | + | |
| 2862 | + | |
| 2863 | + | |
| 2864 | + | |
| 2865 | + | |
| 2866 | + | |
| 2867 | + | |
| 2868 | + | |
| 2869 | + | |
| 2870 | + | |
| 2871 | + | |
| 2872 | + | |
| 2873 | + | |
| 2874 | + | |
| 2875 | + | |
| 2876 | + | |
| 2877 | + | |
| 2878 | + | |
| 2879 | + | |
| 2880 | + | |
| 2881 | + | |
| 2882 | + | |
| 2883 | + | |
| 2884 | + | |
| 2885 | + | |
| 2886 | + | |
| 2887 | + | |
| 2888 | + | |
| 2889 | + | |
| 2890 | + | |
| 2891 | + | |
| 2892 | + | |
| 2893 | + | |
| 2894 | + | |
| 2895 | + | |
| 2896 | + | |
| 2897 | + | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
| 2906 | + | |
| 2907 | + | |
| 2908 | + | |
| 2909 | + | |
| 2910 | + | |
| 2911 | + | |
| 2912 | + | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
| 2916 | + | |
| 2917 | + | |
| 2918 | + | |
| 2919 | + | |
| 2920 | + | |
| 2921 | + | |
| 2922 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| |||
0 commit comments