about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2016-10-28 17:05:48 +0200
committerGitHub <noreply@github.com>2016-10-28 17:05:48 +0200
commit1d7e1b3552053f3b4a968f5fa04683d8c8f0b27d (patch)
tree95b2599a6ae3374ae477e2d3846071f120b6fff9 /src/libsyntax_ext
parentf12e66e642b8cc44c93557e17ae9817ac8ce82b4 (diff)
parent16e1d36c0851b6cb47a215a8fe94178fd39eab04 (diff)
downloadrust-1d7e1b3552053f3b4a968f5fa04683d8c8f0b27d.tar.gz
rust-1d7e1b3552053f3b4a968f5fa04683d8c8f0b27d.zip
Rollup merge of #37436 - nrc:save-span-errs, r=petrochenkov
Give variant spans used in derives the correct expansion id

This fixes a problem in save-analysis where it mistakes a path to a variant as the variant itself.

r? @petrochenkov
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/deriving/generic/mod.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libsyntax_ext/deriving/generic/mod.rs b/src/libsyntax_ext/deriving/generic/mod.rs
index bc47d8f4e61..687f8c902f2 100644
--- a/src/libsyntax_ext/deriving/generic/mod.rs
+++ b/src/libsyntax_ext/deriving/generic/mod.rs
@@ -1460,8 +1460,9 @@ impl<'a> MethodDef<'a> {
             .iter()
             .map(|v| {
                 let ident = v.node.name;
+                let sp = Span { expn_id: trait_.span.expn_id, ..v.span };
                 let summary = trait_.summarise_struct(cx, &v.node.data);
-                (ident, v.span, summary)
+                (ident, sp, summary)
             })
             .collect();
         self.call_substructure_method(cx,