Skip to content

Commit 9a320bc

Browse files
Support the new rustc_builtin_macro syntax
1 parent 8e47e35 commit 9a320bc

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

crates/hir_def/src/nameres/collector.rs

+14-1
Original file line numberDiff line numberDiff line change
@@ -1812,7 +1812,20 @@ impl ModCollector<'_, '_> {
18121812
name = tt::Ident { text: it.clone(), id: tt::TokenId::unspecified() }.as_name();
18131813
&name
18141814
}
1815-
None => &mac.name,
1815+
None => {
1816+
match attrs.by_key("rustc_builtin_macro").tt_values().next().and_then(|tt| {
1817+
match tt.token_trees.first() {
1818+
Some(tt::TokenTree::Leaf(tt::Leaf::Ident(name))) => Some(name),
1819+
_ => None,
1820+
}
1821+
}) {
1822+
Some(ident) => {
1823+
name = ident.as_name();
1824+
&name
1825+
}
1826+
None => &mac.name,
1827+
}
1828+
}
18161829
};
18171830
let krate = self.def_collector.def_map.krate;
18181831
match find_builtin_macro(name, krate, ast_id) {

0 commit comments

Comments
 (0)