diff --git a/src/item.rs b/src/item.rs
index fa8a754..618c20b 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -1313,7 +1313,7 @@
                     item.extern_token.to_tokens(tokens);
                     item.crate_token.to_tokens(tokens);
                     item.ident.to_tokens(tokens);
-                    if let Some((as_token, ref rename)) = item.rename {
+                    if let Some((ref as_token, ref rename)) = item.rename {
                         as_token.to_tokens(tokens);
                         rename.to_tokens(tokens);
                     }
@@ -1361,7 +1361,7 @@
                     item.vis.to_tokens(tokens);
                     item.mod_token.to_tokens(tokens);
                     item.ident.to_tokens(tokens);
-                    if let Some((brace, ref items)) = item.content {
+                    if let Some((ref brace, ref items)) = item.content {
                         brace.surround(tokens, |tokens| {
                             tokens.append_all(self.attrs.inner());
                             tokens.append_all(items);
@@ -1448,7 +1448,7 @@
                     item.unsafety.to_tokens(tokens);
                     item.impl_token.to_tokens(tokens);
                     item.generics.to_tokens(tokens);
-                    if let Some((polarity, ref path, for_token)) = item.trait_ {
+                    if let Some((ref polarity, ref path, ref for_token)) = item.trait_ {
                         polarity.to_tokens(tokens);
                         path.to_tokens(tokens);
                         for_token.to_tokens(tokens);
@@ -1515,7 +1515,7 @@
                     item.ident.to_tokens(tokens);
                     item.colon_token.to_tokens(tokens);
                     item.ty.to_tokens(tokens);
-                    if let Some((eq_token, ref default)) = item.default {
+                    if let Some((ref eq_token, ref default)) = item.default {
                         eq_token.to_tokens(tokens);
                         default.to_tokens(tokens);
                     }
@@ -1540,7 +1540,7 @@
                     item.ident.to_tokens(tokens);
                     item.colon_token.to_tokens(tokens);
                     item.bounds.to_tokens(tokens);
-                    if let Some((eq_token, ref default)) = item.default {
+                    if let Some((ref eq_token, ref default)) = item.default {
                         eq_token.to_tokens(tokens);
                         default.to_tokens(tokens);
                     }
diff --git a/src/ty.rs b/src/ty.rs
index b48eed9..1bb710f 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -846,7 +846,7 @@
             qself.lt_token.to_tokens(tokens);
             qself.ty.to_tokens(tokens);
             let mut segments = self.1.segments.iter();
-            if let Some((as_token, pos)) = qself.position {
+            if let Some((ref as_token, pos)) = qself.position {
                 as_token.to_tokens(tokens);
                 self.1.leading_colon.to_tokens(tokens);
                 for (i, segment) in (&mut segments).take(pos).enumerate() {
