Support feature(extern_in_paths)
diff --git a/src/item.rs b/src/item.rs
index 7b5a015..222c648 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -832,6 +832,8 @@
keyword!(super) => { Into::into }
|
keyword!(crate) => { Into::into }
+ |
+ keyword!(extern) => { Into::into }
));
impl_synom!(UseTree "use tree" alt!(
diff --git a/src/path.rs b/src/path.rs
index 19c1f05..e57c8f4 100644
--- a/src/path.rs
+++ b/src/path.rs
@@ -368,6 +368,8 @@
keyword!(Self) => { Into::into }
|
keyword!(crate) => { Into::into }
+ |
+ keyword!(extern) => { Into::into }
));
named!(pub qpath -> (Option<QSelf>, Path), alt!(
diff --git a/src/token.rs b/src/token.rs
index 18250b1..f130552 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -736,6 +736,7 @@
ident_from_token!(Self);
ident_from_token!(super);
ident_from_token!(crate);
+ident_from_token!(extern);
#[cfg(feature = "parsing")]
mod parsing {
diff --git a/src/ty.rs b/src/ty.rs
index f916505..1ee46d0 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -278,6 +278,9 @@
// must be before TypePath
syn!(TypeMacro) => { Type::Macro }
|
+ // must be before TypePath
+ syn!(TypeBareFn) => { Type::BareFn }
+ |
// must be before TypeTraitObject
call!(TypePath::parse, allow_plus) => { Type::Path }
|
@@ -293,8 +296,6 @@
|
syn!(TypeReference) => { Type::Reference }
|
- syn!(TypeBareFn) => { Type::BareFn }
- |
syn!(TypeNever) => { Type::Never }
|
syn!(TypeTuple) => { Type::Tuple }