Lift parse.rs and lookahead.rs into syn
diff --git a/src/group.rs b/src/group.rs
index 77a9cc6..3e03766 100644
--- a/src/group.rs
+++ b/src/group.rs
@@ -1,7 +1,7 @@
use proc_macro2::{Delimiter, Span};
use error::Result;
-use next::parse::ParseBuffer;
+use parse::ParseBuffer;
use token;
pub struct Parens<'a> {
@@ -69,7 +69,7 @@
#[macro_export]
macro_rules! parenthesized {
($content:ident in $cursor:expr) => {
- match $crate::next::parse::ParseBuffer::parse_parens(&$cursor) {
+ match $crate::parse::ParseBuffer::parse_parens(&$cursor) {
$crate::export::Ok(parens) => {
$content = parens.content;
parens.token
@@ -86,16 +86,15 @@
/// ```rust
/// # extern crate syn;
/// #
-/// use syn::{braced, Token};
-/// use syn::next::{token, Ident};
-/// use syn::next::parse::{Parse, ParseStream, Result};
+/// use syn::{braced, token, Ident, Token};
+/// use syn::parse::{Parse, ParseStream, Result};
/// #
/// # mod example {
/// # use super::{syn, braced, token, Ident, Parse, ParseStream, Result};
/// #
/// # macro_rules! Token {
/// # (struct) => {
-/// # syn::next::token::Struct
+/// # syn::token::Struct
/// # };
/// # }
/// #
@@ -132,7 +131,7 @@
#[macro_export]
macro_rules! braced {
($content:ident in $cursor:expr) => {
- match $crate::next::parse::ParseBuffer::parse_braces(&$cursor) {
+ match $crate::parse::ParseBuffer::parse_braces(&$cursor) {
$crate::export::Ok(braces) => {
$content = braces.content;
braces.token
@@ -149,7 +148,7 @@
#[macro_export]
macro_rules! bracketed {
($content:ident in $cursor:expr) => {
- match $crate::next::parse::ParseBuffer::parse_brackets(&$cursor) {
+ match $crate::parse::ParseBuffer::parse_brackets(&$cursor) {
$crate::export::Ok(brackets) => {
$content = brackets.content;
brackets.token
diff --git a/src/lib.rs b/src/lib.rs
index 793d256..9d90ab1 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -577,6 +577,12 @@
pub mod next;
#[cfg(feature = "parsing")]
+mod lookahead;
+
+#[cfg(feature = "parsing")]
+pub mod parse;
+
+#[cfg(feature = "parsing")]
#[macro_use]
mod group;
@@ -590,7 +596,7 @@
use proc_macro2::Span;
#[cfg(feature = "parsing")]
-pub mod error;
+mod error;
#[cfg(feature = "parsing")]
use error::Error;
diff --git a/src/next/lookahead.rs b/src/lookahead.rs
similarity index 100%
rename from src/next/lookahead.rs
rename to src/lookahead.rs
diff --git a/src/next/mod.rs b/src/next.rs
similarity index 92%
rename from src/next/mod.rs
rename to src/next.rs
index ba4c2c6..c8022bf 100644
--- a/src/next/mod.rs
+++ b/src/next.rs
@@ -1,9 +1,3 @@
-#[macro_use]
-pub mod parse;
-
-// FIXME
-pub mod lookahead;
-
use std::str::FromStr;
use buffer::TokenBuffer;
@@ -12,7 +6,7 @@
use proc_macro2::{self, Span};
use error::Result;
-use self::parse::{Parse, ParseBuffer};
+use parse::{Parse, ParseBuffer};
/// Parse tokens of source code into the chosen syntax tree node.
#[cfg(feature = "proc-macro")]
@@ -44,7 +38,7 @@
/// #
/// use proc_macro::TokenStream;
/// use syn::parse_macro_input;
-/// use syn::next::parse::{Parse, ParseStream, Result};
+/// use syn::parse::{Parse, ParseStream, Result};
///
/// struct MyMacroInput {
/// /* ... */
diff --git a/src/next/parse.rs b/src/parse.rs
similarity index 97%
rename from src/next/parse.rs
rename to src/parse.rs
index 7e5f310..cb4eec0 100644
--- a/src/next/parse.rs
+++ b/src/parse.rs
@@ -7,10 +7,11 @@
use std::ops::Deref;
use buffer::Cursor;
-use error::{self, Error, Result};
+use error;
use proc_macro2::{Ident, Span};
-pub use super::lookahead::{Lookahead1, Peek};
+pub use error::{Error, Result};
+pub use lookahead::{Lookahead1, Peek};
/// Parsing interface implemented by all types that can be parsed in a default
/// way from a token stream.
diff --git a/src/synom.rs b/src/synom.rs
index ecf2f56..9f182d7 100644
--- a/src/synom.rs
+++ b/src/synom.rs
@@ -161,7 +161,7 @@
pub use error::{PResult, Error};
use buffer::{Cursor, TokenBuffer};
-use next;
+use parse;
/// Parsing interface implemented by all types that can be parsed in a default
/// way from a token stream.
@@ -208,10 +208,10 @@
}
}
-impl<T> Synom for T where T: next::parse::Parse {
+impl<T> Synom for T where T: parse::Parse {
fn parse(input: Cursor) -> PResult<Self> {
- let state = next::parse::ParseBuffer::new(Span::call_site(), input);
- match <T as next::parse::Parse>::parse(&state) {
+ let state = parse::ParseBuffer::new(Span::call_site(), input);
+ match <T as parse::Parse>::parse(&state) {
Ok(node) => Ok((node, state.cursor())),
Err(err) => Err(err),
}
diff --git a/src/token.rs b/src/token.rs
index 7b1e320..1ce0bc2 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -116,9 +116,9 @@
#[cfg(feature = "parsing")]
use error::Result;
#[cfg(feature = "parsing")]
-use next::lookahead;
+use lookahead;
#[cfg(feature = "parsing")]
-use next::parse::{Lookahead1, Parse, ParseStream};
+use parse::{Lookahead1, Parse, ParseStream};
use span::IntoSpans;
/// Marker trait for types that represent single tokens.
@@ -775,7 +775,7 @@
use buffer::Cursor;
use error::{Error, Result};
- use next::parse::ParseStream;
+ use parse::ParseStream;
use parse_error;
use span::FromSpans;
use synom::PResult;
diff --git a/tests/test_ident.rs b/tests/test_ident.rs
index c2e2d9e..498e8be 100644
--- a/tests/test_ident.rs
+++ b/tests/test_ident.rs
@@ -11,7 +11,7 @@
use proc_macro2::{Ident, Span, TokenStream};
use std::str::FromStr;
-use syn::error::Error;
+use syn::parse::Error;
fn parse(s: &str) -> Result<Ident, Error> {
syn::parse2(TokenStream::from_str(s).unwrap())