Allow underscore as rename in `use` item
diff --git a/src/ident.rs b/src/ident.rs
index cb9978e..72a15ad 100644
--- a/src/ident.rs
+++ b/src/ident.rs
@@ -51,3 +51,9 @@
 ident_from_token!(super);
 ident_from_token!(crate);
 ident_from_token!(extern);
+
+impl From<Token![_]> for Ident {
+    fn from(token: Token![_]) -> Ident {
+        Ident::new("_", token.spans[0])
+    }
+}
diff --git a/src/item.rs b/src/item.rs
index c31bb9c..9018f55 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -972,7 +972,15 @@
                 Ok(UseTree::Rename(UseRename {
                     ident: ident,
                     as_token: input.parse()?,
-                    rename: input.parse()?,
+                    rename: {
+                        if input.peek(Ident) {
+                            input.parse()?
+                        } else if input.peek(Token![_]) {
+                            Ident::from(input.parse::<Token![_]>()?)
+                        } else {
+                            return Err(input.error("expected identifier or underscore"));
+                        }
+                    },
                 }))
             } else {
                 Ok(UseTree::Name(UseName { ident: ident }))