Commit d475659
authored
Show error locations in other modules on warm runs (#20635)
Fixes #4772
This also allows to remove all but one `_no_parallel` test suffixes. I
decided to keep the last one (caused by an existing inconsistent
behaviour in `partial` plugin) for now.
I am still fascinated by how non-trivial this seemingly simple fix is.
The key idea is to split the error tuple generation in two phases: first
phase can produce relative error locations (as symbol full names) and
those are serialized to cache. We then resolve relative locations in the
second phase (which may potentially require re-parsing some ASTs that
were already discarded, I cache these globally per-run). Couple missing
things in the PR:
* Only AST nodes that are also `SymbolNode` are supported (so e.g.
assignments are not yet supported).
* Using relative locations in blocker errors is not supported (they use
a different code path).
Both are fine for now, since neither of two cases are actually used, we
can support those later when/if needed.1 parent 1288f20 commit d475659
File tree
17 files changed
+441
-32
lines changed- mypy
- plugins
- server
- test
- test-data/unit
17 files changed
+441
-32
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
87 | 94 | | |
88 | 95 | | |
89 | 96 | | |
90 | 97 | | |
91 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
92 | 108 | | |
93 | 109 | | |
94 | 110 | | |
| 111 | + | |
95 | 112 | | |
96 | 113 | | |
97 | 114 | | |
| |||
866 | 883 | | |
867 | 884 | | |
868 | 885 | | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
869 | 890 | | |
870 | 891 | | |
871 | 892 | | |
| |||
1028 | 1049 | | |
1029 | 1050 | | |
1030 | 1051 | | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
1031 | 1106 | | |
1032 | 1107 | | |
1033 | 1108 | | |
| |||
2359 | 2434 | | |
2360 | 2435 | | |
2361 | 2436 | | |
2362 | | - | |
| 2437 | + | |
2363 | 2438 | | |
2364 | 2439 | | |
2365 | 2440 | | |
| |||
3558 | 3633 | | |
3559 | 3634 | | |
3560 | 3635 | | |
3561 | | - | |
| 3636 | + | |
| 3637 | + | |
| 3638 | + | |
3562 | 3639 | | |
3563 | 3640 | | |
3564 | 3641 | | |
| |||
3813 | 3890 | | |
3814 | 3891 | | |
3815 | 3892 | | |
3816 | | - | |
| 3893 | + | |
| 3894 | + | |
| 3895 | + | |
3817 | 3896 | | |
3818 | 3897 | | |
3819 | 3898 | | |
| |||
3972 | 4051 | | |
3973 | 4052 | | |
3974 | 4053 | | |
3975 | | - | |
| 4054 | + | |
| 4055 | + | |
| 4056 | + | |
| 4057 | + | |
| 4058 | + | |
| 4059 | + | |
| 4060 | + | |
| 4061 | + | |
| 4062 | + | |
| 4063 | + | |
| 4064 | + | |
| 4065 | + | |
| 4066 | + | |
| 4067 | + | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
| 4072 | + | |
| 4073 | + | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
| 4077 | + | |
3976 | 4078 | | |
3977 | 4079 | | |
3978 | 4080 | | |
3979 | 4081 | | |
3980 | 4082 | | |
3981 | 4083 | | |
3982 | | - | |
| 4084 | + | |
3983 | 4085 | | |
3984 | 4086 | | |
3985 | 4087 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
479 | 479 | | |
480 | 480 | | |
481 | 481 | | |
482 | | - | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
483 | 486 | | |
484 | 487 | | |
485 | 488 | | |
| |||
493 | 496 | | |
494 | 497 | | |
495 | 498 | | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
496 | 506 | | |
497 | 507 | | |
498 | | - | |
499 | | - | |
| 508 | + | |
| 509 | + | |
500 | 510 | | |
501 | 511 | | |
502 | 512 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| 133 | + | |
133 | 134 | | |
134 | 135 | | |
135 | 136 | | |
| |||
151 | 152 | | |
152 | 153 | | |
153 | 154 | | |
| 155 | + | |
154 | 156 | | |
155 | 157 | | |
156 | 158 | | |
157 | 159 | | |
158 | 160 | | |
159 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
160 | 167 | | |
161 | 168 | | |
162 | 169 | | |
| |||
569 | 576 | | |
570 | 577 | | |
571 | 578 | | |
| 579 | + | |
572 | 580 | | |
573 | 581 | | |
574 | 582 | | |
| |||
635 | 643 | | |
636 | 644 | | |
637 | 645 | | |
| 646 | + | |
638 | 647 | | |
639 | 648 | | |
640 | 649 | | |
| |||
1014 | 1023 | | |
1015 | 1024 | | |
1016 | 1025 | | |
| 1026 | + | |
| 1027 | + | |
1017 | 1028 | | |
1018 | 1029 | | |
1019 | 1030 | | |
| |||
1076 | 1087 | | |
1077 | 1088 | | |
1078 | 1089 | | |
1079 | | - | |
| 1090 | + | |
1080 | 1091 | | |
1081 | 1092 | | |
1082 | 1093 | | |
| |||
1119 | 1130 | | |
1120 | 1131 | | |
1121 | 1132 | | |
1122 | | - | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
1123 | 1136 | | |
1124 | 1137 | | |
1125 | 1138 | | |
| |||
1129 | 1142 | | |
1130 | 1143 | | |
1131 | 1144 | | |
1132 | | - | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
1133 | 1168 | | |
1134 | 1169 | | |
1135 | 1170 | | |
| |||
1141 | 1176 | | |
1142 | 1177 | | |
1143 | 1178 | | |
1144 | | - | |
| 1179 | + | |
1145 | 1180 | | |
1146 | 1181 | | |
1147 | 1182 | | |
1148 | 1183 | | |
1149 | 1184 | | |
1150 | 1185 | | |
1151 | 1186 | | |
1152 | | - | |
| 1187 | + | |
1153 | 1188 | | |
1154 | 1189 | | |
1155 | 1190 | | |
| |||
1224 | 1259 | | |
1225 | 1260 | | |
1226 | 1261 | | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
1230 | 1277 | | |
1231 | 1278 | | |
1232 | 1279 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
269 | 274 | | |
270 | 275 | | |
271 | 276 | | |
| |||
278 | 283 | | |
279 | 284 | | |
280 | 285 | | |
| 286 | + | |
281 | 287 | | |
282 | 288 | | |
283 | 289 | | |
| |||
0 commit comments