Simplify ItemUse parser
diff --git a/src/item.rs b/src/item.rs
index 41c56d9..1819782 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -575,27 +575,23 @@
         use_: keyword!(use) >>
         leading_colon: option!(punct!(::)) >>
         mut prefix: call!(Delimited::parse_terminated_with, use_prefix) >>
-        tree: switch!(value!(leading_colon.is_none() && prefix.is_empty()),
+        tree: switch!(value!(prefix.empty_or_trailing()),
             true => syn!(UseTree)
             |
-            false => switch!(value!(prefix.empty_or_trailing()),
-                true => syn!(UseTree)
+            false => alt!(
+                tuple!(keyword!(as), syn!(Ident)) => {
+                    |rename| UseTree::Path(UsePath {
+                        ident: prefix.pop().unwrap().into_item(),
+                        rename: Some(rename),
+                    })
+                }
                 |
-                false => alt!(
-                    tuple!(keyword!(as), syn!(Ident)) => {
-                        |rename| UseTree::Path(UsePath {
-                            ident: prefix.pop().unwrap().into_item(),
-                            rename: Some(rename),
-                        })
-                    }
-                    |
-                    epsilon!() => {
-                        |_| UseTree::Path(UsePath {
-                            ident: prefix.pop().unwrap().into_item(),
-                            rename: None,
-                        })
-                    }
-                )
+                epsilon!() => {
+                    |_| UseTree::Path(UsePath {
+                        ident: prefix.pop().unwrap().into_item(),
+                        rename: None,
+                    })
+                }
             )
         ) >>
         semi: punct!(;) >>