Commit c763ebc
authored
Rollup merge of rust-lang#102830 - compiler-errors:constness-parity, r=fee1-dead
Unify `tcx.constness` query and param env constness checks
The checks that we do in the `constness` query seem inconsistent with the checks that we do to determine if an item's param-env is const, so I merged them into the `constness` query and call that from the `param_env` query.
I'm not sure if this totally makes sense -- is there a case where `tcx.param_env()` would return a const param-env for an item whose `tcx.constness()` is `Constness::NotConst`? Because if not, it seems a bit dangerous that these two differ.
Luckily, not many places actually use `tcx.constness()`, and the checks in `tcx.param_env()` seem stricter than the checks in `tcx.constness()` (at least for the types of items we type-check).
Also, due to the way that `tcx.param_env()` is implemented, it _never_ used to return a const param-env for a item coming from a different crate, which also seems dangerous (though also probably not weaponizable currently, because we seldom actually compute the param-env for a non-local item).File tree
3 files changed
+98
-99
lines changed- compiler
- rustc_const_eval/src/const_eval
- rustc_metadata/src/rmeta
- rustc_ty_utils/src
3 files changed
+98
-99
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 28 | + | |
| 29 | + | |
32 | 30 | | |
33 | | - | |
| 31 | + | |
34 | 32 | | |
35 | 33 | | |
36 | 34 | | |
| |||
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | 42 | | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
56 | 80 | | |
57 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
58 | 98 | | |
59 | 99 | | |
60 | 100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1059 | 1059 | | |
1060 | 1060 | | |
1061 | 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 | + | |
1062 | 1099 | | |
1063 | 1100 | | |
1064 | 1101 | | |
| |||
1165 | 1202 | | |
1166 | 1203 | | |
1167 | 1204 | | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
1168 | 1208 | | |
1169 | 1209 | | |
1170 | 1210 | | |
| |||
1192 | 1232 | | |
1193 | 1233 | | |
1194 | 1234 | | |
1195 | | - | |
1196 | 1235 | | |
1197 | 1236 | | |
1198 | 1237 | | |
| |||
1220 | 1259 | | |
1221 | 1260 | | |
1222 | 1261 | | |
1223 | | - | |
1224 | 1262 | | |
1225 | 1263 | | |
1226 | 1264 | | |
| |||
1284 | 1322 | | |
1285 | 1323 | | |
1286 | 1324 | | |
1287 | | - | |
1288 | 1325 | | |
1289 | 1326 | | |
1290 | 1327 | | |
| |||
1320 | 1357 | | |
1321 | 1358 | | |
1322 | 1359 | | |
1323 | | - | |
1324 | 1360 | | |
1325 | 1361 | | |
1326 | 1362 | | |
| |||
1345 | 1381 | | |
1346 | 1382 | | |
1347 | 1383 | | |
1348 | | - | |
1349 | | - | |
1350 | | - | |
1351 | | - | |
1352 | | - | |
1353 | | - | |
1354 | | - | |
1355 | 1384 | | |
1356 | 1385 | | |
1357 | 1386 | | |
| |||
1474 | 1503 | | |
1475 | 1504 | | |
1476 | 1505 | | |
1477 | | - | |
1478 | 1506 | | |
1479 | 1507 | | |
1480 | 1508 | | |
| |||
1495 | 1523 | | |
1496 | 1524 | | |
1497 | 1525 | | |
1498 | | - | |
1499 | 1526 | | |
1500 | 1527 | | |
1501 | 1528 | | |
| |||
1524 | 1551 | | |
1525 | 1552 | | |
1526 | 1553 | | |
1527 | | - | |
| 1554 | + | |
1528 | 1555 | | |
1529 | | - | |
1530 | 1556 | | |
1531 | 1557 | | |
1532 | 1558 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | 140 | | |
208 | 141 | | |
209 | 142 | | |
210 | | - | |
| 143 | + | |
211 | 144 | | |
212 | 145 | | |
213 | 146 | | |
| |||
0 commit comments