diff --git a/src/attr.rs b/src/attr.rs
index 595f12a..4fede88 100644
--- a/src/attr.rs
+++ b/src/attr.rs
@@ -76,9 +76,10 @@
     /// [`Attribute::parse_inner`]: #method.parse_inner
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{Attribute, Ident, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{Attribute, Ident};
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
     /// // Parses a unit struct with attributes.
diff --git a/src/error.rs b/src/error.rs
index 05826c4..712b9b7 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -45,9 +45,10 @@
     /// # Example
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{Ident, LitStr, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{Ident, LitStr};
     /// use syn::parse::{Error, ParseStream, Result};
     ///
     /// // Parses input that looks like `name = "string"` where the key must be
diff --git a/src/expr.rs b/src/expr.rs
index 4a39367..d4b689a 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -2349,9 +2349,10 @@
         /// # Example
         ///
         /// ```
-        /// # extern crate syn;
-        /// #
-        /// use syn::{braced, token, Attribute, Block, Ident, Stmt, Token};
+        /// #[macro_use]
+        /// extern crate syn;
+        ///
+        /// use syn::{token, Attribute, Block, Ident, Stmt};
         /// use syn::parse::{Parse, ParseStream, Result};
         ///
         /// // Parse a function with no generics or parameter list.
diff --git a/src/ext.rs b/src/ext.rs
index 0a412e4..ae6c2ae 100644
--- a/src/ext.rs
+++ b/src/ext.rs
@@ -18,9 +18,10 @@
     /// identifiers.
     ///
     /// ```rust
-    /// # extern crate syn;
-    /// #
-    /// use syn::{Ident, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::Ident;
     /// use syn::ext::IdentExt;
     /// use syn::parse::{Error, ParseStream, Result};
     ///
diff --git a/src/generics.rs b/src/generics.rs
index c63cb69..51c6080 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -301,12 +301,13 @@
     /// for that type.
     ///
     /// ```
-    /// # extern crate proc_macro2;
-    /// # extern crate syn;
+    /// # #[macro_use]
     /// # extern crate quote;
     /// #
+    /// # extern crate proc_macro2;
+    /// # extern crate syn;
+    /// #
     /// # use proc_macro2::{Span, Ident};
-    /// # use quote::quote;
     /// #
     /// # fn main() {
     /// #     let generics: syn::Generics = Default::default();
diff --git a/src/group.rs b/src/group.rs
index b2e4659..84a19fd 100644
--- a/src/group.rs
+++ b/src/group.rs
@@ -95,12 +95,13 @@
 /// # Example
 ///
 /// ```rust
+/// # #[macro_use]
 /// # extern crate quote;
-/// # extern crate syn;
 /// #
-/// # use quote::quote;
-/// #
-/// use syn::{parenthesized, token, Ident, Token, Type};
+/// #[macro_use]
+/// extern crate syn;
+///
+/// use syn::{token, Ident, Type};
 /// use syn::parse::{Parse, ParseStream, Result};
 /// use syn::punctuated::Punctuated;
 ///
@@ -155,12 +156,12 @@
 /// # Example
 ///
 /// ```rust
+/// # #[macro_use]
 /// # extern crate quote;
-/// # extern crate syn;
 /// #
-/// # use quote::quote;
-/// #
-/// use syn::{braced, token, Ident, Token, Type};
+/// #[macro_use]
+/// extern crate syn;
+/// use syn::{token, Ident, Type};
 /// use syn::parse::{Parse, ParseStream, Result};
 /// use syn::punctuated::Punctuated;
 ///
@@ -236,14 +237,16 @@
 /// # Example
 ///
 /// ```rust
-/// # extern crate proc_macro2;
+/// # #[macro_use]
 /// # extern crate quote;
-/// # extern crate syn;
 /// #
-/// # use quote::quote;
-/// #
+/// #[macro_use]
+/// extern crate syn;
+///
+/// extern crate proc_macro2;
+///
 /// use proc_macro2::TokenStream;
-/// use syn::{bracketed, token, Token};
+/// use syn::token;
 /// use syn::parse::{Parse, ParseStream, Result};
 ///
 /// // Parse an outer attribute like:
diff --git a/src/keyword.rs b/src/keyword.rs
index 8fcb711..019ada9 100644
--- a/src/keyword.rs
+++ b/src/keyword.rs
@@ -8,12 +8,14 @@
 /// prefix.
 ///
 /// ```
+/// # #[macro_use]
 /// # extern crate syn;
 /// #
 /// mod kw {
-///     # use syn;
-///     syn::custom_keyword!(whatever);
+///     custom_keyword!(whatever);
 /// }
+/// #
+/// # fn main() {}
 /// ```
 ///
 /// The generated syntax tree node supports the following operations just like
@@ -47,15 +49,15 @@
 /// by crates that need to use them as such.
 ///
 /// ```
-/// # extern crate syn;
-/// #
-/// use syn::{LitBool, LitStr, Token};
+/// #[macro_use]
+/// extern crate syn;
+///
+/// use syn::{LitBool, LitStr};
 /// use syn::parse::{Parse, ParseStream, Result};
 ///
 /// mod kw {
-///     # use syn;
-///     syn::custom_keyword!(bool);
-///     syn::custom_keyword!(str);
+///     custom_keyword!(bool);
+///     custom_keyword!(str);
 /// }
 ///
 /// enum Argument {
diff --git a/src/lib.rs b/src/lib.rs
index be9a6a8..2fdec09 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -73,13 +73,15 @@
 //! ```
 //!
 //! ```rust
-//! # extern crate proc_macro;
-//! # extern crate quote;
-//! # extern crate syn;
-//! #
+//! #[macro_use]
+//! extern crate quote;
+//! #[macro_use]
+//! extern crate syn;
+//!
+//! extern crate proc_macro;
+//!
 //! use proc_macro::TokenStream;
-//! use quote::quote;
-//! use syn::{parse_macro_input, DeriveInput};
+//! use syn::DeriveInput;
 //!
 //! # const IGNORE_TOKENS: &str = stringify! {
 //! #[proc_macro_derive(MyMacro)]
@@ -615,12 +617,13 @@
 /// # Examples
 ///
 /// ```rust
-/// # extern crate proc_macro;
-/// # extern crate quote;
-/// # extern crate syn;
-/// #
+/// #[macro_use]
+/// extern crate quote;
+///
+/// extern crate proc_macro;
+/// extern crate syn;
+///
 /// use proc_macro::TokenStream;
-/// use quote::quote;
 /// use syn::DeriveInput;
 ///
 /// # const IGNORE_TOKENS: &str = stringify! {
@@ -771,11 +774,12 @@
 /// # Intended usage
 ///
 /// ```rust
-/// # extern crate proc_macro;
-/// # extern crate syn;
-/// #
+/// #[macro_use]
+/// extern crate syn;
+///
+/// extern crate proc_macro;
+///
 /// use proc_macro::TokenStream;
-/// use syn::parse_macro_input;
 /// use syn::parse::{Parse, ParseStream, Result};
 ///
 /// struct MyMacroInput {
diff --git a/src/lookahead.rs b/src/lookahead.rs
index 1f2b223..be38a71 100644
--- a/src/lookahead.rs
+++ b/src/lookahead.rs
@@ -22,9 +22,10 @@
 /// # Example
 ///
 /// ```
-/// # extern crate syn;
-/// #
-/// use syn::{ConstParam, Ident, Lifetime, LifetimeDef, Token, TypeParam};
+/// #[macro_use]
+/// extern crate syn;
+///
+/// use syn::{ConstParam, Ident, Lifetime, LifetimeDef, TypeParam};
 /// use syn::parse::{Parse, ParseStream, Result};
 ///
 /// // A generic parameter, a single one of the comma-separated elements inside
diff --git a/src/parse.rs b/src/parse.rs
index a106de5..c36d8b1 100644
--- a/src/parse.rs
+++ b/src/parse.rs
@@ -34,11 +34,13 @@
 //! [`parse_macro_input!`]: ../macro.parse_macro_input.html
 //!
 //! ```
-//! # extern crate proc_macro;
-//! # extern crate syn;
-//! #
+//! #[macro_use]
+//! extern crate syn;
+//!
+//! extern crate proc_macro;
+//!
 //! use proc_macro::TokenStream;
-//! use syn::{braced, parse_macro_input, token, Field, Ident, Token};
+//! use syn::{token, Field, Ident};
 //! use syn::parse::{Parse, ParseStream, Result};
 //! use syn::punctuated::Punctuated;
 //!
@@ -156,14 +158,15 @@
 //! [`Parser`]: trait.Parser.html
 //!
 //! ```
-//! # extern crate syn;
-//! #
-//! # extern crate proc_macro2;
-//! # use proc_macro2::TokenStream;
-//! #
+//! #[macro_use]
+//! extern crate syn;
+//!
+//! extern crate proc_macro2;
+//!
+//! use proc_macro2::TokenStream;
 //! use syn::parse::Parser;
 //! use syn::punctuated::Punctuated;
-//! use syn::{Attribute, Expr, PathSegment, Token};
+//! use syn::{Attribute, Expr, PathSegment};
 //!
 //! # fn run_parsers() -> Result<(), syn::parse::Error> {
 //! #     let tokens = TokenStream::new().into();
@@ -396,9 +399,10 @@
     /// [`Attribute::parse_outer`]: ../struct.Attribute.html#method.parse_outer
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{Attribute, Ident, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{Attribute, Ident};
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
     /// // Parses a unit struct with attributes.
@@ -451,9 +455,10 @@
     /// token in the input is either `where` or an opening curly brace.
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{braced, token, Generics, Ident, Token, TypeParamBound};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{token, Generics, Ident, TypeParamBound};
     /// use syn::parse::{Parse, ParseStream, Result};
     /// use syn::punctuated::Punctuated;
     ///
@@ -522,9 +527,10 @@
     /// }`. In other words `union` is a contextual keyword.
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{Ident, ItemUnion, Macro, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{Ident, ItemUnion, Macro};
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
     /// // Parses either a union or a macro invocation.
@@ -567,12 +573,13 @@
     /// # Example
     ///
     /// ```rust
+    /// # #[macro_use]
     /// # extern crate quote;
-    /// # extern crate syn;
     /// #
-    /// # use quote::quote;
-    /// #
-    /// use syn::{parenthesized, token, Ident, Token, Type};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{token, Ident, Type};
     /// use syn::parse::{Parse, ParseStream, Result};
     /// use syn::punctuated::Punctuated;
     ///
@@ -622,9 +629,10 @@
     /// # Example
     ///
     /// ```rust
-    /// # extern crate syn;
-    /// #
-    /// use syn::{braced, token, Ident, Item, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{token, Ident, Item};
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
     /// // Parses a Rust `mod m { ... }` containing zero or more items.
@@ -664,9 +672,10 @@
     /// # Example
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{ConstParam, Ident, Lifetime, LifetimeDef, Token, TypeParam};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{ConstParam, Ident, Lifetime, LifetimeDef, TypeParam};
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
     /// // A generic parameter, a single one of the comma-separated elements inside
@@ -772,9 +781,10 @@
     /// work performed against the forked parse stream.
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{parenthesized, token, Ident, Path, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::{token, Ident, Path};
     /// use syn::ext::IdentExt;
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
@@ -847,9 +857,10 @@
     /// # Example
     ///
     /// ```
-    /// # extern crate syn;
-    /// #
-    /// use syn::{Expr, Token};
+    /// #[macro_use]
+    /// extern crate syn;
+    ///
+    /// use syn::Expr;
     /// use syn::parse::{Parse, ParseStream, Result};
     ///
     /// // Some kind of loop: `while` or `for` or `loop`.
@@ -871,6 +882,8 @@
     ///         }
     ///     }
     /// }
+    /// #
+    /// # fn main() {}
     /// ```
     pub fn error<T: Display>(&self, message: T) -> Error {
         error::new_at(self.scope, self.cursor(), message)
diff --git a/src/parse_quote.rs b/src/parse_quote.rs
index d354be6..e7c3dfe 100644
--- a/src/parse_quote.rs
+++ b/src/parse_quote.rs
@@ -9,11 +9,12 @@
 /// [`Parse`]: parse/trait.Parse.html
 ///
 /// ```
-/// # extern crate syn;
-/// # extern crate quote;
-/// #
-/// use quote::quote;
-/// use syn::{parse_quote, Stmt};
+/// #[macro_use]
+/// extern crate quote;
+/// #[macro_use]
+/// extern crate syn;
+///
+/// use syn::Stmt;
 ///
 /// fn main() {
 ///     let name = quote!(v);
@@ -37,12 +38,11 @@
 /// parameter `T` in the input generics.
 ///
 /// ```
-/// # extern crate quote;
-/// # extern crate syn;
-/// #
-/// # use quote::quote;
-/// # use syn::parse_quote;
-/// #
+/// #[macro_use]
+/// extern crate quote;
+/// #[macro_use]
+/// extern crate syn;
+///
 /// use syn::{Generics, GenericParam};
 ///
 /// // Add a bound `T: HeapSize` to every type parameter T.
diff --git a/src/path.rs b/src/path.rs
index 693d71c..301a06b 100644
--- a/src/path.rs
+++ b/src/path.rs
@@ -360,9 +360,10 @@
         /// # Example
         ///
         /// ```
-        /// # extern crate syn;
-        /// #
-        /// use syn::{Path, Token};
+        /// #[macro_use]
+        /// extern crate syn;
+        ///
+        /// use syn::Path;
         /// use syn::parse::{Parse, ParseStream, Result};
         ///
         /// // A simplified single `use` statement like:
diff --git a/src/spanned.rs b/src/spanned.rs
index 6dd50cb..2eac86a 100644
--- a/src/spanned.rs
+++ b/src/spanned.rs
@@ -31,12 +31,13 @@
 //! ```
 //! # extern crate proc_macro;
 //! # extern crate proc_macro2;
-//! # extern crate quote;
 //! # extern crate syn;
 //! #
+//! #[macro_use]
+//! extern crate quote;
+//!
 //! use proc_macro::TokenStream;
 //! use proc_macro2::Span;
-//! use quote::quote_spanned;
 //! use syn::Type;
 //! use syn::spanned::Spanned;
 //!
diff --git a/src/token.rs b/src/token.rs
index 8892c33..40aa74f 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -21,9 +21,10 @@
 //! [`ItemStatic`]: ../struct.ItemStatic.html
 //!
 //! ```
+//! # #[macro_use]
 //! # extern crate syn;
 //! #
-//! # use syn::{Attribute, Expr, Ident, Token, Type, Visibility};
+//! # use syn::{Attribute, Expr, Ident, Type, Visibility};
 //! #
 //! pub struct ItemStatic {
 //!     pub attrs: Vec<Attribute>,
