Fix type inference snafu with synom map
diff --git a/src/constant.rs b/src/constant.rs
index d3991b7..3ae944a 100644
--- a/src/constant.rs
+++ b/src/constant.rs
@@ -95,13 +95,13 @@
     impl Synom for ConstExpr {
         named!(parse -> Self, do_parse!(
             mut e: alt!(
-                map!(syn!(ConstUnary), |e: ConstUnary| e.into())
+                map!(syn!(ConstUnary), |e| e.into())
                 |
-                map!(syn!(Lit), |e: Lit| e.into())
+                map!(syn!(Lit), |e| e.into())
                 |
-                map!(syn!(Path), |e: Path| e.into())
+                map!(syn!(Path), |e| e.into())
                 |
-                map!(syn!(ConstParen), |e: ConstParen| e.into())
+                map!(syn!(ConstParen), |e| e.into())
                 // Cannot handle ConstExpr::Other here because for example
                 // `[u32; n!()]` would end up successfully parsing `n` as
                 // ConstExpr::Path and then fail to parse `!()`. Instead, callers
diff --git a/src/expr.rs b/src/expr.rs
index 96a593d..0ed9797 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -1265,7 +1265,7 @@
                 })
             )
             |
-            map!(syn!(Ident), |name: Ident| FieldValue {
+            map!(syn!(Ident), |name| FieldValue {
                 ident: name.clone(),
                 expr: ExprKind::Path(ExprPath { qself: None, path: name.into() }).into(),
                 is_shorthand: true,
@@ -1648,7 +1648,7 @@
     impl Synom for PatPath {
         named!(parse -> Self, map!(
             syn!(ExprPath),
-            |p: ExprPath| PatPath { qself: p.qself, path: p.path }
+            |p| PatPath { qself: p.qself, path: p.path }
         ));
     }
 
@@ -1663,7 +1663,7 @@
                         trailing: option!(syn!(Comma)) >>
                         (dots, trailing)
                     ))
-                ), |x: Option<_>| x.and_then(|x| x)) >>
+                ), |x| x.and_then(|x| x)) >>
                 rest: cond!(match dotdot {
                                 Some((_, Some(_))) => true,
                                 _ => false,
diff --git a/src/generics.rs b/src/generics.rs
index 60a94a6..7cb6c82 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -212,7 +212,7 @@
                 |
                 epsilon!() => { |_| (Delimited::new(), None, None, None) }
             ),
-            |(lifetimes, ty_params, lt, gt): (_, Option<_>, _, _)| Generics {
+            |(lifetimes, ty_params, lt, gt)| Generics {
                 lifetimes: lifetimes,
                 ty_params: ty_params.unwrap_or_default(),
                 where_clause: WhereClause::default(),
diff --git a/src/ty.rs b/src/ty.rs
index 1bb710f..e767852 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -556,7 +556,7 @@
             })
         )
         |
-        map!(syn!(Self_), |s: Self_| (None, s.into()))
+        map!(syn!(Self_), |s| (None, s.into()))
     ));
 
     impl Synom for ParenthesizedParameterData {