|
1 | 1 | //! Functions dealing with attributes and meta items. |
2 | 2 |
|
| 3 | +use std::fmt::Debug; |
3 | 4 | use std::iter; |
4 | 5 | use std::sync::atomic::{AtomicU32, Ordering}; |
5 | 6 |
|
@@ -68,7 +69,7 @@ impl AttributeExt for Attribute { |
68 | 69 | fn value_span(&self) -> Option<Span> { |
69 | 70 | match &self.kind { |
70 | 71 | AttrKind::Normal(normal) => match &normal.item.args { |
71 | | - AttrArgs::Eq(_, l) => Some(l.span), |
| 72 | + AttrArgs::Eq { eq_span: _, value } => Some(value.span), |
72 | 73 | _ => None, |
73 | 74 | }, |
74 | 75 | AttrKind::DocComment(..) => None, |
@@ -225,13 +226,13 @@ impl AttrItem { |
225 | 226 | AttrArgs::Delimited(args) if args.delim == Delimiter::Parenthesis => { |
226 | 227 | MetaItemKind::list_from_tokens(args.tokens.clone()) |
227 | 228 | } |
228 | | - AttrArgs::Delimited(_) | AttrArgs::Eq(..) | AttrArgs::Empty => None, |
| 229 | + AttrArgs::Delimited(_) | AttrArgs::Eq { .. } | AttrArgs::Empty => None, |
229 | 230 | } |
230 | 231 | } |
231 | 232 |
|
232 | 233 | fn value_str(&self) -> Option<Symbol> { |
233 | 234 | match &self.args { |
234 | | - AttrArgs::Eq(_, expr) => match expr.kind { |
| 235 | + AttrArgs::Eq { eq_span: _, value } => match value.kind { |
235 | 236 | ExprKind::Lit(token_lit) => { |
236 | 237 | LitKind::from_token_lit(token_lit).ok().and_then(|lit| lit.str()) |
237 | 238 | } |
@@ -435,10 +436,10 @@ impl MetaItemKind { |
435 | 436 | MetaItemKind::list_from_tokens(tokens.clone()).map(MetaItemKind::List) |
436 | 437 | } |
437 | 438 | AttrArgs::Delimited(..) => None, |
438 | | - AttrArgs::Eq(_, expr) => match expr.kind { |
| 439 | + AttrArgs::Eq { eq_span: _, value } => match value.kind { |
439 | 440 | ExprKind::Lit(token_lit) => { |
440 | 441 | // Turn failures to `None`, we'll get parse errors elsewhere. |
441 | | - MetaItemLit::from_token_lit(token_lit, expr.span) |
| 442 | + MetaItemLit::from_token_lit(token_lit, value.span) |
442 | 443 | .ok() |
443 | 444 | .map(|lit| MetaItemKind::NameValue(lit)) |
444 | 445 | } |
@@ -636,15 +637,15 @@ pub fn mk_attr_name_value_str( |
636 | 637 | span: Span, |
637 | 638 | ) -> Attribute { |
638 | 639 | let lit = token::Lit::new(token::Str, escape_string_symbol(val), None); |
639 | | - let expr = P(Expr { |
| 640 | + let value = P(Expr { |
640 | 641 | id: DUMMY_NODE_ID, |
641 | 642 | kind: ExprKind::Lit(lit), |
642 | 643 | span, |
643 | 644 | attrs: AttrVec::new(), |
644 | 645 | tokens: None, |
645 | 646 | }); |
646 | 647 | let path = Path::from_ident(Ident::new(name, span)); |
647 | | - let args = AttrArgs::Eq(span, expr); |
| 648 | + let args = AttrArgs::Eq { eq_span: span, value }; |
648 | 649 | mk_attr(g, style, unsafety, path, args, span) |
649 | 650 | } |
650 | 651 |
|
|
0 commit comments