summary refs log tree commit diff
path: root/src/libsyntax/ext/deriving
diff options
context:
space:
mode:
authorP1start <rewi-github@whanau.org>2014-10-06 13:36:53 +1300
committerP1start <rewi-github@whanau.org>2014-10-24 15:44:18 +1300
commitead6c4b9d44f43945db6e91c92f14cef31240c64 (patch)
tree5ed3696f210ea21982c5b827f32bd5bb51fc24e4 /src/libsyntax/ext/deriving
parent56d544f7adc455fc1d7dfaec80315ea44e46d9ae (diff)
downloadrust-ead6c4b9d44f43945db6e91c92f14cef31240c64.tar.gz
rust-ead6c4b9d44f43945db6e91c92f14cef31240c64.zip
Add a lint for not using field pattern shorthands
Closes #17792.
Diffstat (limited to 'src/libsyntax/ext/deriving')
-rw-r--r--src/libsyntax/ext/deriving/generic/mod.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libsyntax/ext/deriving/generic/mod.rs b/src/libsyntax/ext/deriving/generic/mod.rs
index 2310a4460e2..533a28998bd 100644
--- a/src/libsyntax/ext/deriving/generic/mod.rs
+++ b/src/libsyntax/ext/deriving/generic/mod.rs
@@ -1248,7 +1248,10 @@ impl<'a> TraitDef<'a> {
         let pattern = if struct_type == Record {
             let field_pats = subpats.into_iter().zip(ident_expr.iter()).map(|(pat, &(_, id, _))| {
                 // id is guaranteed to be Some
-                ast::FieldPat { ident: id.unwrap(), pat: pat }
+                codemap::Spanned {
+                    span: pat.span,
+                    node: ast::FieldPat { ident: id.unwrap(), pat: pat, is_shorthand: true },
+                }
             }).collect();
             cx.pat_struct(self.span, matching_path, field_pats)
         } else {