///
/// [`Parse`]: parse/trait.Parse.html
///
-/// ```
-/// #[macro_use]
-/// extern crate quote;
-/// #[macro_use]
-/// extern crate syn;
-///
-/// use syn::Stmt;
+/// ```edition2018
+/// use quote::quote;
+/// use syn::{parse_quote, Stmt};
///
/// fn main() {
/// let name = quote!(v);
/// The following helper function adds a bound `T: HeapSize` to every type
/// parameter `T` in the input generics.
///
-/// ```
-#[cfg_attr(not(syn_can_call_macro_by_path), doc = " #[macro_use]")]
-#[cfg_attr(not(syn_can_call_macro_by_path), doc = " extern crate quote;")]
-/// #[macro_use]
-/// extern crate syn;
-///
-/// use syn::{Generics, GenericParam};
+/// ```edition2018
+/// use syn::{parse_quote, Generics, GenericParam};
///
/// // Add a bound `T: HeapSize` to every type parameter T.
/// fn add_trait_bounds(mut generics: Generics) -> Generics {
/// }
/// generics
/// }
-/// #
-/// # fn main() {}
/// ```
///
/// # Special cases