diff --git a/src/error.rs b/src/error.rs
index e27a64d..67e3939 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -45,10 +45,9 @@
     /// # Example
     ///
     /// ```
-    /// #[macro_use]
-    /// extern crate syn;
-    ///
-    /// use syn::{Ident, LitStr};
+    /// # extern crate syn;
+    /// #
+    /// use syn::{Ident, LitStr, Token};
     /// use syn::parse::{Error, ParseStream, Result};
     ///
     /// // Parses input that looks like `name = "string"` where the key must be
diff --git a/src/ext.rs b/src/ext.rs
index ae6c2ae..0a412e4 100644
--- a/src/ext.rs
+++ b/src/ext.rs
@@ -18,10 +18,9 @@
     /// identifiers.
     ///
     /// ```rust
-    /// #[macro_use]
-    /// extern crate syn;
-    ///
-    /// use syn::Ident;
+    /// # extern crate syn;
+    /// #
+    /// use syn::{Ident, Token};
     /// use syn::ext::IdentExt;
     /// use syn::parse::{Error, ParseStream, Result};
     ///
diff --git a/src/file.rs b/src/file.rs
index 7cb9f95..1f6054a 100644
--- a/src/file.rs
+++ b/src/file.rs
@@ -19,8 +19,8 @@
     /// representation of the syntax tree.
     ///
     /// ```
-    /// extern crate syn;
-    ///
+    /// # extern crate syn;
+    /// #
     /// use std::env;
     /// use std::fs::File;
     /// use std::io::Read;
diff --git a/src/generics.rs b/src/generics.rs
index af23301..07ea86b 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -303,19 +303,22 @@
     /// ```
     /// # extern crate proc_macro2;
     /// # extern crate syn;
-    /// # #[macro_use]
     /// # extern crate quote;
+    /// #
     /// # use proc_macro2::{Span, Ident};
+    /// # use quote::quote;
+    /// #
     /// # fn main() {
-    /// # let generics: syn::Generics = Default::default();
-    /// # let name = Ident::new("MyType", Span::call_site());
+    /// #     let generics: syn::Generics = Default::default();
+    /// #     let name = Ident::new("MyType", Span::call_site());
+    /// #
     /// let (impl_generics, ty_generics, where_clause) = generics.split_for_impl();
     /// quote! {
     ///     impl #impl_generics MyTrait for #name #ty_generics #where_clause {
     ///         // ...
     ///     }
     /// }
-    /// # ;
+    /// #     ;
     /// # }
     /// ```
     ///
diff --git a/src/group.rs b/src/group.rs
index 4b5ba4d..9eb005e 100644
--- a/src/group.rs
+++ b/src/group.rs
@@ -94,11 +94,11 @@
 /// # Example
 ///
 /// ```rust
-/// # #[macro_use]
 /// # extern crate quote;
+/// # extern crate syn;
 /// #
-/// extern crate syn;
-///
+/// # use quote::quote;
+/// #
 /// use syn::{parenthesized, token, Ident, Token, Type};
 /// use syn::parse::{Parse, ParseStream, Result};
 /// use syn::punctuated::Punctuated;
@@ -155,10 +155,10 @@
 ///
 /// ```rust
 /// # extern crate quote;
+/// # extern crate syn;
+/// #
 /// # use quote::quote;
 /// #
-/// extern crate syn;
-///
 /// use syn::{braced, token, Ident, Token, Type};
 /// use syn::parse::{Parse, ParseStream, Result};
 /// use syn::punctuated::Punctuated;
@@ -235,12 +235,12 @@
 /// # Example
 ///
 /// ```rust
-/// # #[macro_use]
+/// # extern crate proc_macro2;
 /// # extern crate quote;
+/// # extern crate syn;
 /// #
-/// extern crate proc_macro2;
-/// extern crate syn;
-///
+/// # use quote::quote;
+/// #
 /// use proc_macro2::TokenStream;
 /// use syn::{bracketed, token, Token};
 /// use syn::parse::{Parse, ParseStream, Result};
diff --git a/src/lib.rs b/src/lib.rs
index 0209fb8..b32d67c 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -76,13 +76,12 @@
 //! ```
 //!
 //! ```rust
-//! extern crate proc_macro;
-//! extern crate syn;
-//!
-//! #[macro_use]
-//! extern crate quote;
-//!
+//! # extern crate proc_macro;
+//! # extern crate quote;
+//! # extern crate syn;
+//! #
 //! use proc_macro::TokenStream;
+//! use quote::quote;
 //! use syn::DeriveInput;
 //!
 //! # const IGNORE_TOKENS: &str = stringify! {
@@ -622,14 +621,12 @@
 /// # Examples
 ///
 /// ```rust
-/// extern crate proc_macro;
+/// # extern crate proc_macro;
+/// # extern crate quote;
+/// # extern crate syn;
+/// #
 /// use proc_macro::TokenStream;
-///
-/// extern crate syn;
-///
-/// #[macro_use]
-/// extern crate quote;
-///
+/// use quote::quote;
 /// use syn::DeriveInput;
 ///
 /// # const IGNORE_TOKENS: &str = stringify! {
@@ -688,12 +685,10 @@
 /// # Examples
 ///
 /// ```rust
-/// extern crate syn;
+/// # extern crate syn;
 /// #
-/// #
-/// # type Result<T> = std::result::Result<T, Box<std::error::Error>>;
-///
 /// use syn::Expr;
+/// use syn::parse::Result;
 ///
 /// fn run() -> Result<()> {
 ///     let code = "assert_eq!(u8::max_value(), 255)";
@@ -725,15 +720,13 @@
 /// # Examples
 ///
 /// ```rust,no_run
-/// extern crate syn;
+/// # extern crate syn;
 /// #
-/// #
-/// # type Result<T> = std::result::Result<T, Box<std::error::Error>>;
-///
+/// use std::error::Error;
 /// use std::fs::File;
 /// use std::io::Read;
 ///
-/// fn run() -> Result<()> {
+/// fn run() -> Result<(), Box<Error>> {
 ///     let mut file = File::open("path/to/code.rs")?;
 ///     let mut content = String::new();
 ///     file.read_to_string(&mut content)?;
diff --git a/src/parse.rs b/src/parse.rs
index ae5020a..b98361f 100644
--- a/src/parse.rs
+++ b/src/parse.rs
@@ -78,7 +78,6 @@
 //! [`Parser`]: trait.Parser.html
 //!
 //! ```
-//! # #[macro_use]
 //! # extern crate syn;
 //! #
 //! # extern crate proc_macro2;
@@ -86,7 +85,7 @@
 //! #
 //! use syn::parse::Parser;
 //! use syn::punctuated::Punctuated;
-//! use syn::{PathSegment, Expr, Attribute};
+//! use syn::{Attribute, Expr, PathSegment, Token};
 //!
 //! # fn run_parsers() -> Result<(), syn::parse::Error> {
 //! #     let tokens = TokenStream::new().into();
diff --git a/src/parse_quote.rs b/src/parse_quote.rs
index 62559cb..0cb4565 100644
--- a/src/parse_quote.rs
+++ b/src/parse_quote.rs
@@ -9,13 +9,11 @@
 /// [`Parse`]: parse/trait.Parse.html
 ///
 /// ```
-/// #[macro_use]
-/// extern crate syn;
-///
-/// #[macro_use]
-/// extern crate quote;
-///
-/// use syn::Stmt;
+/// # extern crate syn;
+/// # extern crate quote;
+/// #
+/// use quote::quote;
+/// use syn::{parse_quote, Stmt};
 ///
 /// fn main() {
 ///     let name = quote!(v);
@@ -39,14 +37,14 @@
 /// parameter `T` in the input generics.
 ///
 /// ```
-/// # #[macro_use]
+/// # extern crate quote;
 /// # extern crate syn;
 /// #
-/// # #[macro_use]
-/// # extern crate quote;
+/// # use quote::quote;
+/// # use syn::parse_quote;
 /// #
-/// # use syn::{Generics, GenericParam};
-/// #
+/// use syn::{Generics, GenericParam};
+///
 /// // Add a bound `T: HeapSize` to every type parameter T.
 /// fn add_trait_bounds(mut generics: Generics) -> Generics {
 ///     for param in &mut generics.params {
diff --git a/src/path.rs b/src/path.rs
index e3ae9a7..464c6fb 100644
--- a/src/path.rs
+++ b/src/path.rs
@@ -29,13 +29,13 @@
 /// A helper for printing a self-type qualified path as tokens.
 ///
 /// ```rust
-/// extern crate syn;
-/// extern crate quote;
-/// extern crate proc_macro2;
-///
-/// use syn::{QSelf, Path, PathTokens};
+/// # extern crate syn;
+/// # extern crate quote;
+/// # extern crate proc_macro2;
+/// #
 /// use proc_macro2::TokenStream;
 /// use quote::ToTokens;
+/// use syn::{QSelf, Path, PathTokens};
 ///
 /// struct MyNode {
 ///     qself: Option<QSelf>,
diff --git a/src/spanned.rs b/src/spanned.rs
index 80cf6aa..6dd50cb 100644
--- a/src/spanned.rs
+++ b/src/spanned.rs
@@ -29,17 +29,16 @@
 //! static assertion that `Sync` is implemented for that type.
 //!
 //! ```
-//! #[macro_use]
-//! extern crate quote;
-//!
-//! extern crate syn;
-//! extern crate proc_macro;
-//! extern crate proc_macro2;
-//!
-//! use syn::Type;
-//! use syn::spanned::Spanned;
+//! # extern crate proc_macro;
+//! # extern crate proc_macro2;
+//! # extern crate quote;
+//! # extern crate syn;
+//! #
 //! use proc_macro::TokenStream;
 //! use proc_macro2::Span;
+//! use quote::quote_spanned;
+//! use syn::Type;
+//! use syn::spanned::Spanned;
 //!
 //! # const IGNORE_TOKENS: &str = stringify! {
 //! #[proc_macro_derive(MyMacro)]
diff --git a/src/token.rs b/src/token.rs
index 8daa2fe..2e54077 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -21,10 +21,9 @@
 //! [`ItemStatic`]: ../struct.ItemStatic.html
 //!
 //! ```
-//! # #[macro_use]
 //! # extern crate syn;
 //! #
-//! # use syn::{Attribute, Visibility, Ident, Type, Expr};
+//! # use syn::{Attribute, Expr, Ident, Token, Type, Visibility};
 //! #
 //! pub struct ItemStatic {
 //!     pub attrs: Vec<Attribute>,
@@ -54,38 +53,33 @@
 //! [`braced!`]: ../macro.braced.html
 //!
 //! ```
-//! extern crate syn;
-//!
+//! # extern crate syn;
+//! #
 //! use syn::Attribute;
 //! use syn::parse::{Parse, ParseStream, Result};
 //! #
-//! # struct ItemStatic;
+//! # enum ItemStatic {}
 //!
 //! // Parse the ItemStatic struct shown above.
 //! impl Parse for ItemStatic {
 //!     fn parse(input: ParseStream) -> Result<Self> {
-//! #       Ok(ItemStatic)
-//! #   }
-//! # }
-//! #
-//! # mod example {
-//! #    use super::*;
-//! #    use syn::ItemStatic;
-//! #
-//! #    fn parse(input: ParseStream) -> Result<ItemStatic> {
-//!        Ok(ItemStatic {
-//!            attrs: input.call(Attribute::parse_outer)?,
-//!            vis: input.parse()?,
-//!            static_token: input.parse()?,
-//!            mutability: input.parse()?,
-//!            ident: input.parse()?,
-//!            colon_token: input.parse()?,
-//!            ty: input.parse()?,
-//!            eq_token: input.parse()?,
-//!            expr: input.parse()?,
-//!            semi_token: input.parse()?,
-//!        })
-//!    }
+//!         # use syn::ItemStatic;
+//!         # fn parse(input: ParseStream) -> Result<ItemStatic> {
+//!         Ok(ItemStatic {
+//!             attrs: input.call(Attribute::parse_outer)?,
+//!             vis: input.parse()?,
+//!             static_token: input.parse()?,
+//!             mutability: input.parse()?,
+//!             ident: input.parse()?,
+//!             colon_token: input.parse()?,
+//!             ty: input.parse()?,
+//!             eq_token: input.parse()?,
+//!             expr: input.parse()?,
+//!             semi_token: input.parse()?,
+//!         })
+//!         # }
+//!         # unimplemented!()
+//!     }
 //! }
 //! #
 //! # fn main() {}
