about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-03-11 05:41:41 +0000
committerbors <bors@rust-lang.org>2017-03-11 05:41:41 +0000
commit1727b2331740cb6fe684cf81b774e290eb875b6e (patch)
tree9959a1db818c8149e66572d5d9619bd2a970cc3b /src/libsyntax
parent71c058b3054b373bd13f68cd85d8b45adcb5f7d5 (diff)
parent3493d91a18389d7548fa4079069cf2a75b872a64 (diff)
downloadrust-1727b2331740cb6fe684cf81b774e290eb875b6e.tar.gz
rust-1727b2331740cb6fe684cf81b774e290eb875b6e.zip
Auto merge of #40432 - alexcrichton:rollup, r=alexcrichton
Rollup of 38 pull requests

- Successful merges: #39202, #39820, #39918, #39921, #40092, #40146, #40199, #40225, #40239, #40257, #40259, #40261, #40277, #40278, #40287, #40297, #40311, #40315, #40319, #40324, #40336, #40340, #40344, #40345, #40367, #40369, #40372, #40373, #40379, #40385, #40386, #40389, #40400, #40404, #40410, #40422, #40423, #40424
- Failed merges: #40220, #40329, #40426
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/ext/expand.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index f1662284a88..f7dcd00e409 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -464,8 +464,20 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
                 let attr_toks = stream_for_attr_args(&attr, &self.cx.parse_sess);
                 let item_toks = stream_for_item(&item, &self.cx.parse_sess);
 
+                let span = Span {
+                    expn_id: self.cx.codemap().record_expansion(ExpnInfo {
+                        call_site: attr.span,
+                        callee: NameAndSpan {
+                            format: MacroAttribute(name),
+                            span: None,
+                            allow_internal_unstable: false,
+                        },
+                    }),
+                    ..attr.span
+                };
+
                 let tok_result = mac.expand(self.cx, attr.span, attr_toks, item_toks);
-                self.parse_expansion(tok_result, kind, name, attr.span)
+                self.parse_expansion(tok_result, kind, name, span)
             }
             SyntaxExtension::ProcMacroDerive(..) | SyntaxExtension::BuiltinDerive(..) => {
                 self.cx.span_err(attr.span, &format!("`{}` is a derive mode", name));