};
ecx.parse_sess.registered_diagnostics.with_lock(|diagnostics| {
- match diagnostics.get_mut(&code.name) {
+ match diagnostics.get_mut(&code) {
// Previously used errors.
Some(&mut ErrorInfo { description: _, use_site: Some(previous_span) }) => {
ecx.struct_span_warn(span, &format!(
token_tree.get(1),
token_tree.get(2)
) {
- (1, Some(&TokenTree::Token(Token { kind: token::Ident(ref code, _), .. })), None, None) => {
+ (1, Some(&TokenTree::Token(Token { kind: token::Ident(code, _), .. })), None, None) => {
(code, None)
},
- (3, Some(&TokenTree::Token(Token { kind: token::Ident(ref code, _), .. })),
+ (3, Some(&TokenTree::Token(Token { kind: token::Ident(code, _), .. })),
Some(&TokenTree::Token(Token { kind: token::Comma, .. })),
Some(&TokenTree::Token(Token { kind: token::Literal(token::Lit { symbol, .. }), .. }))) => {
(code, Some(symbol))
description,
use_site: None
};
- if diagnostics.insert(code.name, info).is_some() {
+ if diagnostics.insert(code, info).is_some() {
ecx.span_err(span, &format!(
"diagnostic code {} already registered", code
));
token_tree: &[TokenTree])
-> Box<dyn MacResult+'cx> {
assert_eq!(token_tree.len(), 3);
- let (crate_name, name) = match (&token_tree[0], &token_tree[2]) {
+ let (crate_name, ident) = match (&token_tree[0], &token_tree[2]) {
(
// Crate name.
- &TokenTree::Token(Token { kind: token::Ident(ref crate_name, _), .. }),
+ &TokenTree::Token(Token { kind: token::Ident(crate_name, _), .. }),
// DIAGNOSTICS ident.
- &TokenTree::Token(Token { kind: token::Ident(ref name, _), .. })
- ) => (*&crate_name, name),
+ &TokenTree::Token(Token { kind: token::Ident(name, _), span })
+ ) => (crate_name, Ident::new(name, span)),
_ => unreachable!()
};
MacEager::items(smallvec![
P(ast::Item {
- ident: *name,
+ ident,
attrs: Vec::new(),
id: ast::DUMMY_NODE_ID,
node: ast::ItemKind::Const(