diff options
Diffstat (limited to 'src/attr.rs')
-rw-r--r-- | src/attr.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/attr.rs b/src/attr.rs index fa4f1cb2..ea6ab09d 100644 --- a/src/attr.rs +++ b/src/attr.rs @@ -1,9 +1,7 @@ use super::*; use crate::punctuated::Punctuated; - -use std::iter; - use proc_macro2::TokenStream; +use std::iter; #[cfg(feature = "parsing")] use crate::parse::{Parse, ParseBuffer, ParseStream, Parser, Result}; @@ -494,7 +492,6 @@ where #[cfg(feature = "parsing")] pub mod parsing { use super::*; - use crate::ext::IdentExt; use crate::parse::{Parse, ParseStream, Result}; #[cfg(feature = "full")] @@ -581,7 +578,9 @@ pub mod parsing { fn parse(input: ParseStream) -> Result<Self> { if input.peek(Lit) && !(input.peek(LitBool) && input.peek2(Token![=])) { input.parse().map(NestedMeta::Lit) - } else if input.peek(Ident::peek_any) { + } else if input.peek(Ident::peek_any) + || input.peek(Token![::]) && input.peek3(Ident::peek_any) + { input.parse().map(NestedMeta::Meta) } else { Err(input.error("expected identifier or literal")) |