Keep the span of negative sign in pat
diff --git a/src/expr.rs b/src/expr.rs
index 1344b07..50ec407 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -2218,9 +2218,9 @@
             |
             syn!(ExprPath) => { ExprKind::Path }
         ) >>
-        (if neg.is_some() {
+        (if let Some(neg) = neg {
             ExprKind::Unary(ExprUnary {
-                op: UnOp::Neg(<Token![-]>::default()),
+                op: UnOp::Neg(neg),
                 expr: Box::new(v.into())
             }).into()
         } else {