aboutsummaryrefslogtreecommitdiff
path: root/src/attr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/attr.rs')
-rw-r--r--src/attr.rs9
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"))