This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 47b4dd7
committed
Auto merge of rust-lang#15923 - tamasfe:feat/better-ignored-macros2, r=Veykril
feat: ignored and disabled macro expansion
Supersedes rust-lang#15117, I was having some conflicts after a rebase and since I didn't remember much of it I started clean instead.
The end result is pretty much the same as the linked PR, but instead of proc macro lookups, I marked the expanders that explicitly cannot be expanded and we shouldn't even attempt to do so.
## Unresolved questions
- [ ] I introduced a `DISABLED_ID` next to `DUMMY_ID` in `hir-expand`'s `ProcMacroExpander`, that is effectively exactly the same thing with slightly different semantics, dummy macros are not (yet) expanded probably due to errors, while not expanding disabled macros is part of the usual flow. I'm not sure if it's the right way to handle this, I also thought of just adding a flag instead of replacing the macro ID, so that the disabled macro can still be expanded for any reason if needed.File tree
11 files changed
+139
-100
lines changed- crates
- base-db/src
- hir-def/src
- macro_expansion_tests
- nameres
- hir-expand/src
- load-cargo/src
- rust-analyzer/src
- test-fixture/src
11 files changed
+139
-100
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
246 | 247 | | |
247 | 248 | | |
248 | 249 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
634 | 634 | | |
635 | 635 | | |
636 | 636 | | |
637 | | - | |
638 | 637 | | |
639 | 638 | | |
640 | 639 | | |
| |||
647 | 646 | | |
648 | 647 | | |
649 | 648 | | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
650 | 658 | | |
651 | 659 | | |
652 | 660 | | |
653 | 661 | | |
| 662 | + | |
| 663 | + | |
654 | 664 | | |
655 | 665 | | |
656 | 666 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
102 | | - | |
103 | | - | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
104 | 108 | | |
105 | 109 | | |
106 | 110 | | |
| |||
604 | 608 | | |
605 | 609 | | |
606 | 610 | | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | 611 | | |
611 | 612 | | |
612 | 613 | | |
| |||
1120 | 1121 | | |
1121 | 1122 | | |
1122 | 1123 | | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
1123 | 1131 | | |
1124 | 1132 | | |
1125 | | - | |
| 1133 | + | |
1126 | 1134 | | |
1127 | 1135 | | |
1128 | 1136 | | |
| |||
1156 | 1164 | | |
1157 | 1165 | | |
1158 | 1166 | | |
| 1167 | + | |
1159 | 1168 | | |
1160 | 1169 | | |
1161 | 1170 | | |
1162 | | - | |
| 1171 | + | |
1163 | 1172 | | |
1164 | 1173 | | |
1165 | 1174 | | |
| |||
1198 | 1207 | | |
1199 | 1208 | | |
1200 | 1209 | | |
1201 | | - | |
| 1210 | + | |
1202 | 1211 | | |
1203 | 1212 | | |
1204 | 1213 | | |
| |||
1221 | 1230 | | |
1222 | 1231 | | |
1223 | 1232 | | |
1224 | | - | |
| 1233 | + | |
1225 | 1234 | | |
1226 | 1235 | | |
1227 | 1236 | | |
| |||
1237 | 1246 | | |
1238 | 1247 | | |
1239 | 1248 | | |
1240 | | - | |
| 1249 | + | |
1241 | 1250 | | |
1242 | | - | |
1243 | | - | |
1244 | | - | |
1245 | | - | |
1246 | | - | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
1247 | 1261 | | |
1248 | 1262 | | |
1249 | 1263 | | |
| |||
1316 | 1330 | | |
1317 | 1331 | | |
1318 | 1332 | | |
1319 | | - | |
1320 | | - | |
1321 | | - | |
1322 | | - | |
1323 | | - | |
1324 | | - | |
1325 | | - | |
1326 | | - | |
1327 | | - | |
1328 | | - | |
1329 | 1333 | | |
1330 | 1334 | | |
1331 | 1335 | | |
| |||
1337 | 1341 | | |
1338 | 1342 | | |
1339 | 1343 | | |
1340 | | - | |
1341 | | - | |
1342 | | - | |
1343 | | - | |
1344 | | - | |
| 1344 | + | |
| 1345 | + | |
1345 | 1346 | | |
1346 | 1347 | | |
1347 | 1348 | | |
1348 | 1349 | | |
1349 | 1350 | | |
| 1351 | + | |
| 1352 | + | |
1350 | 1353 | | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
1351 | 1367 | | |
1352 | 1368 | | |
1353 | 1369 | | |
| |||
1358 | 1374 | | |
1359 | 1375 | | |
1360 | 1376 | | |
1361 | | - | |
| 1377 | + | |
1362 | 1378 | | |
1363 | 1379 | | |
1364 | 1380 | | |
1365 | | - | |
1366 | | - | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
1367 | 1384 | | |
1368 | 1385 | | |
1369 | 1386 | | |
| |||
1673 | 1690 | | |
1674 | 1691 | | |
1675 | 1692 | | |
1676 | | - | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
1677 | 1698 | | |
1678 | 1699 | | |
1679 | 1700 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
106 | 109 | | |
107 | 110 | | |
108 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| 132 | + | |
| 133 | + | |
132 | 134 | | |
133 | 135 | | |
134 | 136 | | |
| |||
160 | 162 | | |
161 | 163 | | |
162 | 164 | | |
| 165 | + | |
163 | 166 | | |
164 | 167 | | |
165 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
59 | | - | |
60 | | - | |
61 | 60 | | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
62 | 64 | | |
63 | | - | |
| 65 | + | |
| 66 | + | |
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
67 | | - | |
68 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
69 | 74 | | |
70 | 75 | | |
71 | | - | |
72 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
73 | 89 | | |
74 | 90 | | |
75 | 91 | | |
| |||
84 | 100 | | |
85 | 101 | | |
86 | 102 | | |
87 | | - | |
| 103 | + | |
88 | 104 | | |
89 | 105 | | |
90 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
91 | 111 | | |
92 | 112 | | |
93 | 113 | | |
| |||
110 | 130 | | |
111 | 131 | | |
112 | 132 | | |
113 | | - | |
| 133 | + | |
114 | 134 | | |
115 | 135 | | |
116 | 136 | | |
| |||
0 commit comments