diff options
| author | topecongiro <seuchida@gmail.com> | 2017-09-07 06:11:16 +0900 |
|---|---|---|
| committer | topecongiro <seuchida@gmail.com> | 2017-09-07 06:28:04 +0900 |
| commit | ed63e0be9527a9b18b23f99b764f1a767c70e825 (patch) | |
| tree | 61641a5a1c19bada996d481082744840bf582eb9 /src/libsyntax/parse | |
| parent | a20953906056f85f71896795e762ac242e1891aa (diff) | |
| download | rust-ed63e0be9527a9b18b23f99b764f1a767c70e825.tar.gz rust-ed63e0be9527a9b18b23f99b764f1a767c70e825.zip | |
Add visibility to span for macros 2.0
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 1f033b25fe4..5721330b810 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3789,9 +3789,9 @@ impl<'a> Parser<'a> { is_defaultness } - fn eat_macro_def(&mut self, attrs: &[Attribute], vis: &Visibility) + fn eat_macro_def(&mut self, attrs: &[Attribute], vis: &Visibility, lo: Span) -> PResult<'a, Option<P<Item>>> { - let lo = self.span; + let token_lo = self.span; let (ident, def) = match self.token { token::Ident(ident) if ident.name == keywords::Macro.name() => { self.bump(); @@ -3811,7 +3811,7 @@ impl<'a> Parser<'a> { }; TokenStream::concat(vec![ args.into(), - TokenTree::Token(lo.to(self.prev_span), token::FatArrow).into(), + TokenTree::Token(token_lo.to(self.prev_span), token::FatArrow).into(), body.into(), ]) } else { @@ -3861,7 +3861,7 @@ impl<'a> Parser<'a> { node: StmtKind::Local(self.parse_local(attrs.into())?), span: lo.to(self.prev_span), } - } else if let Some(macro_def) = self.eat_macro_def(&attrs, &Visibility::Inherited)? { + } else if let Some(macro_def) = self.eat_macro_def(&attrs, &Visibility::Inherited, lo)? { Stmt { id: ast::DUMMY_NODE_ID, node: StmtKind::Item(macro_def), @@ -6011,7 +6011,7 @@ impl<'a> Parser<'a> { maybe_append(attrs, extra_attrs)); return Ok(Some(item)); } - if let Some(macro_def) = self.eat_macro_def(&attrs, &visibility)? { + if let Some(macro_def) = self.eat_macro_def(&attrs, &visibility, lo)? { return Ok(Some(macro_def)); } |
