Preserve syn::Ident as a re-export
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index ccfdf56..8bf9d4e 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -22,9 +22,9 @@
extern crate syn;
use quote::ToTokens;
-use syn::{Attribute, Data, DataStruct, DeriveInput, Item};
+use syn::{Attribute, Data, DataStruct, DeriveInput, Ident, Item};
use failure::{err_msg, Error};
-use proc_macro2::{Ident, Span, TokenStream};
+use proc_macro2::{Span, TokenStream};
use std::io::{Read, Write};
use std::fmt::{self, Debug};
@@ -189,7 +189,7 @@
use syn;
use syn::synom::*;
use syn::*;
- use proc_macro2::{TokenStream, Ident};
+ use proc_macro2::TokenStream;
// Parses #full - returns #[cfg(feature = "full")] if it is present, and
// nothing otherwise.
@@ -335,7 +335,7 @@
use syn::punctuated::Punctuated;
use quote::ToTokens;
use std::fmt::{self, Display};
- use proc_macro2::{Ident, Span, TokenStream};
+ use proc_macro2::{Span, TokenStream};
#[derive(Default)]
pub struct State {
@@ -1017,7 +1017,7 @@
use *;
#[cfg(any(feature = \"full\", feature = \"derive\"))]
use token::{{Brace, Bracket, Paren, Group}};
-use proc_macro2::{{Span, Ident}};
+use proc_macro2::Span;
#[cfg(any(feature = \"full\", feature = \"derive\"))]
use gen::helper::fold::*;
@@ -1078,7 +1078,7 @@
use *;
#[cfg(any(feature = \"full\", feature = \"derive\"))]
use punctuated::Punctuated;
-use proc_macro2::{{Span, Ident}};
+use proc_macro2::Span;
#[cfg(any(feature = \"full\", feature = \"derive\"))]
use gen::helper::visit::*;
@@ -1116,7 +1116,7 @@
use *;
#[cfg(any(feature = \"full\", feature = \"derive\"))]
use punctuated::Punctuated;
-use proc_macro2::{{Span, Ident}};
+use proc_macro2::Span;
#[cfg(any(feature = \"full\", feature = \"derive\"))]
use gen::helper::visit_mut::*;
diff --git a/src/attr.rs b/src/attr.rs
index 7b788cb..6f50e0a 100644
--- a/src/attr.rs
+++ b/src/attr.rs
@@ -11,7 +11,7 @@
use std::iter;
-use proc_macro2::{Delimiter, Spacing, TokenStream, TokenTree, Ident};
+use proc_macro2::{Delimiter, Spacing, TokenStream, TokenTree};
#[cfg(feature = "extra-traits")]
use std::hash::{Hash, Hasher};
diff --git a/src/data.rs b/src/data.rs
index 93a66a1..fbbdb70 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -6,8 +6,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use proc_macro2::Ident;
-
use super::*;
use punctuated::Punctuated;
diff --git a/src/derive.rs b/src/derive.rs
index 7964178..ba60f8d 100644
--- a/src/derive.rs
+++ b/src/derive.rs
@@ -7,7 +7,6 @@
// except according to those terms.
use super::*;
-use proc_macro2::Ident;
use punctuated::Punctuated;
ast_struct! {
diff --git a/src/expr.rs b/src/expr.rs
index 8d94863..ac55c98 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -7,7 +7,7 @@
// except according to those terms.
use super::*;
-use proc_macro2::{Span, TokenStream, Ident};
+use proc_macro2::{Span, TokenStream};
use punctuated::Punctuated;
#[cfg(feature = "extra-traits")]
use std::hash::{Hash, Hasher};
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index ee7120b..2cd760d 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -10,7 +10,7 @@
use *;
#[cfg(any(feature = "full", feature = "derive"))]
use token::{Brace, Bracket, Paren, Group};
-use proc_macro2::{Span, Ident};
+use proc_macro2::Span;
#[cfg(any(feature = "full", feature = "derive"))]
use gen::helper::fold::*;
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index e363944..3591bb7 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -8,7 +8,7 @@
use *;
#[cfg(any(feature = "full", feature = "derive"))]
use punctuated::Punctuated;
-use proc_macro2::{Span, Ident};
+use proc_macro2::Span;
#[cfg(any(feature = "full", feature = "derive"))]
use gen::helper::visit::*;
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index 668f172..848e348 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -8,7 +8,7 @@
use *;
#[cfg(any(feature = "full", feature = "derive"))]
use punctuated::Punctuated;
-use proc_macro2::{Span, Ident};
+use proc_macro2::Span;
#[cfg(any(feature = "full", feature = "derive"))]
use gen::helper::visit_mut::*;
diff --git a/src/generics.rs b/src/generics.rs
index e1e1cc5..4c2858d 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -7,7 +7,6 @@
// except according to those terms.
use super::*;
-use proc_macro2::Ident;
use punctuated::{Iter, IterMut, Punctuated};
ast_struct! {
diff --git a/src/item.rs b/src/item.rs
index dcbe142..226e102 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -8,7 +8,7 @@
use super::*;
use derive::{Data, DeriveInput};
-use proc_macro2::{TokenStream, Ident};
+use proc_macro2::TokenStream;
use punctuated::Punctuated;
use token::{Brace, Paren};
diff --git a/src/lib.rs b/src/lib.rs
index 1f23701..beababe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -286,6 +286,8 @@
#[macro_use]
pub mod token;
+pub use proc_macro2::Ident;
+
#[cfg(any(feature = "full", feature = "derive"))]
mod attr;
#[cfg(any(feature = "full", feature = "derive"))]
diff --git a/src/parsers.rs b/src/parsers.rs
index ebe229c..810a112 100644
--- a/src/parsers.rs
+++ b/src/parsers.rs
@@ -251,10 +251,8 @@
/// ```rust
/// #[macro_use]
/// extern crate syn;
-/// extern crate proc_macro2;
///
-/// use proc_macro2::Ident;
-/// use syn::MacroDelimiter;
+/// use syn::{Ident, MacroDelimiter};
/// use syn::token::{Paren, Bracket, Brace};
/// use syn::synom::Synom;
///
@@ -418,10 +416,8 @@
/// ```rust
/// #[macro_use]
/// extern crate syn;
-/// extern crate proc_macro2;
///
-/// use proc_macro2::Ident;
-/// use syn::Item;
+/// use syn::{Ident, Item};
/// use syn::token::Brace;
/// use syn::synom::Synom;
///
@@ -530,9 +526,8 @@
/// ```rust
/// #[macro_use]
/// extern crate syn;
-/// extern crate proc_macro2;
///
-/// use proc_macro2::Ident;
+/// use syn::Ident;
/// use syn::token::Brace;
/// use syn::synom::Synom;
///
@@ -625,9 +620,8 @@
/// ```rust
/// #[macro_use]
/// extern crate syn;
-/// extern crate proc_macro2;
///
-/// use proc_macro2::Ident;
+/// use syn::Ident;
/// use syn::token::Brace;
/// use syn::synom::Synom;
///
@@ -1229,10 +1223,8 @@
/// ```rust
/// #[macro_use]
/// extern crate syn;
-/// extern crate proc_macro2;
///
-/// use proc_macro2::Ident;
-/// use syn::Item;
+/// use syn::{Ident, Item};
/// use syn::token::Brace;
/// use syn::synom::Synom;
///
@@ -1284,9 +1276,8 @@
/// ```rust
/// #[macro_use]
/// extern crate syn;
-/// extern crate proc_macro2;
///
-/// use proc_macro2::Ident;
+/// use syn::Ident;
/// use syn::synom::Synom;
///
/// struct Flag {
@@ -1311,11 +1302,7 @@
#[macro_export]
macro_rules! custom_keyword {
($i:expr, $keyword:ident) => {
- match <
- $crate::parsers::__custom_keyword_inner::Ident
- as
- $crate::synom::Synom
- >::parse($i) {
+ match <$crate::Ident as $crate::synom::Synom>::parse($i) {
::std::result::Result::Err(err) => ::std::result::Result::Err(err),
::std::result::Result::Ok((token, i)) => {
if token.to_string() == stringify!($keyword) {
@@ -1328,11 +1315,6 @@
};
}
-#[doc(hidden)]
-pub mod __custom_keyword_inner {
- pub use proc_macro2::Ident;
-}
-
/// Parse inside of `(` `)` parentheses.
///
/// This macro parses a set of balanced parentheses and invokes a sub-parser on
diff --git a/src/path.rs b/src/path.rs
index 499ad25..7e83daf 100644
--- a/src/path.rs
+++ b/src/path.rs
@@ -7,7 +7,6 @@
// except according to those terms.
use super::*;
-use proc_macro2::Ident;
use punctuated::Punctuated;
ast_struct! {
diff --git a/src/token.rs b/src/token.rs
index 292e0da..7e07545 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -23,10 +23,8 @@
//! ```
//! # #[macro_use]
//! # extern crate syn;
-//! # extern crate proc_macro2;
//! #
-//! # use proc_macro2::Ident;
-//! # use syn::{Attribute, Visibility, Type, Expr};
+//! # use syn::{Attribute, Visibility, Ident, Type, Expr};
//! #
//! pub struct ItemStatic {
//! pub attrs: Vec<Attribute>,
@@ -60,11 +58,9 @@
//! ```
//! #[macro_use]
//! extern crate syn;
-//! extern crate proc_macro2;
//!
-//! use proc_macro2::Ident;
//! use syn::synom::Synom;
-//! use syn::{Attribute, Visibility, Type, Expr};
+//! use syn::{Attribute, Visibility, Ident, Type, Expr};
//! #
//! # struct ItemStatic;
//! # use syn::ItemStatic as SynItemStatic;
diff --git a/src/ty.rs b/src/ty.rs
index bd6fd06..3ca817b 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -7,7 +7,7 @@
// except according to those terms.
use super::*;
-use proc_macro2::{TokenStream, Ident};
+use proc_macro2::TokenStream;
use punctuated::Punctuated;
#[cfg(feature = "extra-traits")]
use std::hash::{Hash, Hasher};