diff --git a/src/expr.rs b/src/expr.rs
index a48b59b..d370f34 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -290,7 +290,8 @@
 #[cfg(feature = "parsing")]
 pub mod parsing {
     use super::*;
-    use {BinOp, Delimited, DelimToken, FnArg, FnDecl, FunctionRetTy, Ident, Lifetime, TokenTree, Ty};
+    use {BinOp, Delimited, DelimToken, FnArg, FnDecl, FunctionRetTy, Ident, Lifetime, TokenTree,
+         Ty};
     use attr::parsing::outer_attr;
     use generics::parsing::lifetime;
     use ident::parsing::ident;
diff --git a/src/generics.rs b/src/generics.rs
index 916ebb7..dc3dd0d 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -86,7 +86,8 @@
         let id = Ident::new(t);
         if !id.as_ref().starts_with('\'') {
             panic!("lifetime name must start with apostrophe as in \"'a\", \
-                   got {:?}", id.as_ref());
+                   got {:?}",
+                   id.as_ref());
         }
         Lifetime { ident: id }
     }
diff --git a/src/item.rs b/src/item.rs
index 16f7f30..254a6b1 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -1095,12 +1095,7 @@
                     tokens.append("{");
                     tokens.append("}");
                 }
-                ItemKind::Impl(unsafety,
-                               polarity,
-                               ref generics,
-                               ref path,
-                               ref ty,
-                               ref items) => {
+                ItemKind::Impl(unsafety, polarity, ref generics, ref path, ref ty, ref items) => {
                     unsafety.to_tokens(tokens);
                     tokens.append("impl");
                     generics.to_tokens(tokens);
diff --git a/src/lib.rs b/src/lib.rs
index 76ca608..40d4825 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -70,9 +70,9 @@
 mod space;
 
 mod ty;
-pub use ty::{AngleBracketedParameterData, BareFnArg, BareFnTy, FunctionRetTy, MutTy,
-             Mutability, ParenthesizedParameterData, Path, PathParameters, PathSegment,
-             PolyTraitRef, QSelf, Ty, TypeBinding};
+pub use ty::{AngleBracketedParameterData, BareFnArg, BareFnTy, FunctionRetTy, MutTy, Mutability,
+             ParenthesizedParameterData, Path, PathParameters, PathSegment, PolyTraitRef, QSelf,
+             Ty, TypeBinding};
 
 #[cfg(feature = "aster")]
 pub mod aster;
diff --git a/src/space.rs b/src/space.rs
index 6d0992e..36f9f0e 100644
--- a/src/space.rs
+++ b/src/space.rs
@@ -35,7 +35,7 @@
                 i += 1;
                 continue;
             }
-            b if b <= 0x7f => {},
+            b if b <= 0x7f => {}
             _ => {
                 let ch = s.chars().next().unwrap();
                 if ch.is_whitespace() {
