broken again ;-(
osa1 opened this issue · 2 comments
osa1 commented
Doesn't work with rustc 1.11.0-nightly (696b703b5 2016-07-03)
osa1 commented
Latest:
Updating registry `https://github.com/rust-lang/crates.io-index`
Compiling vec_map v0.3.0
Compiling lalr v0.0.1
Compiling scoped-tls v0.1.0
Compiling bit-set v0.2.0
Compiling redfa v0.0.1
Compiling plex v0.0.2
error[E0412]: type name `ast::TokenTree` is undefined or not in scope
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lexer.rs:71:81
|
71 | pub fn expand_lexer<'cx>(cx: &'cx mut base::ExtCtxt, sp: codemap::Span, args: &[ast::TokenTree]) -> Box<base::MacResult+'cx> {
| ^^^^^^^^^^^^^^ undefined or not in scope
|
= help: you can import several candidates into scope (`use ...;`):
= help: `syntax::ext::proc_macro_shim::prelude::TokenTree`
= help: `syntax::tokenstream::TokenTree`
error[E0412]: type name `ast::TokenTree` is undefined or not in scope
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lexer.rs:75:75
|
75 | fn parse_lexer<'a>(cx: &mut base::ExtCtxt<'a>, sp: codemap::Span, args: &[ast::TokenTree]) -> PResult<'a, Box<base::MacResult+'static>> {
| ^^^^^^^^^^^^^^ undefined or not in scope
|
= help: you can import several candidates into scope (`use ...;`):
= help: `syntax::ext::proc_macro_shim::prelude::TokenTree`
= help: `syntax::tokenstream::TokenTree`
error[E0433]: failed to resolve. Could not find `DeclKind` in `syntax::ast`
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:253:95
|
253 | codemap::respan(DUMMY_SP, ast::StmtKind::Decl(P(codemap::respan(DUMMY_SP, ast::DeclKind::Local(local))), DUMMY_NODE_ID))
| ^^^^^^^^^^^^^^^^^^^^ Could not find `DeclKind` in `syntax::ast`
error[E0412]: type name `ast::TokenTree` is undefined or not in scope
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:399:12
|
399 | tts: &[ast::TokenTree]
| ^^^^^^^^^^^^^^ undefined or not in scope
|
= help: you can import several candidates into scope (`use ...;`):
= help: `syntax::ext::proc_macro_shim::prelude::TokenTree`
= help: `syntax::tokenstream::TokenTree`
error[E0412]: type name `ast::TokenTree` is undefined or not in scope
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:407:12
|
407 | tts: &[ast::TokenTree]
| ^^^^^^^^^^^^^^ undefined or not in scope
|
= help: you can import several candidates into scope (`use ...;`):
= help: `syntax::ext::proc_macro_shim::prelude::TokenTree`
= help: `syntax::tokenstream::TokenTree`
error[E0412]: type name `ast::TokenTree` is undefined or not in scope
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:700:12
|
700 | tts: &[ast::TokenTree]
| ^^^^^^^^^^^^^^ undefined or not in scope
|
= help: you can import several candidates into scope (`use ...;`):
= help: `syntax::ext::proc_macro_shim::prelude::TokenTree`
= help: `syntax::tokenstream::TokenTree`
error[E0061]: this function takes 2 parameters but 3 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lexer.rs:55:20
|
55 | let block = cx.block(DUMMY_SP, vec![], Some(cx.expr_match(DUMMY_SP, quote_expr!(cx, state), arms)));
| ^^^^^ expected 2 parameters
|
= note: the following parameter types were expected: syntax::codemap::Span, std::vec::Vec<syntax::ast::Stmt>
error: the type of this value must be known in this context
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lexer.rs:79:25
|
79 | let visibility = if parser.eat_keyword(token::keywords::Pub) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0061]: this function takes 2 parameters but 3 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lexer.rs:202:12
|
202 | cx.block(DUMMY_SP,
| ^^^^^ expected 2 parameters
|
= note: the following parameter types were expected: syntax::codemap::Span, std::vec::Vec<syntax::ast::Stmt>
error[E0308]: mismatched types
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:251:32
|
251 | attrs: None,
| ^^^^ expected struct `syntax::util::ThinVec`, found enum `std::option::Option`
|
= note: expected type `syntax::util::ThinVec<syntax::codemap::Spanned<syntax::ast::Attribute_>>`
= note: found type `std::option::Option<_>`
error: no associated item named `Decl` found for type `syntax::ast::StmtKind` in the current scope
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:253:47
|
253 | codemap::respan(DUMMY_SP, ast::StmtKind::Decl(P(codemap::respan(DUMMY_SP, ast::DeclKind::Local(local))), DUMMY_NODE_ID))
| ^^^^^^^^^^^^^^^^^^^
error[E0308]: match arms have incompatible types
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:239:37
|
239 | .map(|(sym, maybe_pat)| match maybe_pat {
| ^ expected struct `syntax::codemap::Spanned`, found struct `syntax::ast::Stmt`
|
= note: expected type `syntax::codemap::Spanned<_>`
= note: found type `syntax::ast::Stmt`
note: match arm with an incompatible type
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:255:25
|
255 | None => cx.stmt_expr(cx.expr_method_call(DUMMY_SP,
| ^
error[E0061]: this function takes 2 parameters but 3 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:284:28
|
284 | let block = cx.block(rspan, reduce_stmts, None);
| ^^^^^ expected 2 parameters
|
= note: the following parameter types were expected: syntax::codemap::Span, std::vec::Vec<syntax::ast::Stmt>
error[E0061]: this function takes 2 parameters but 3 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:325:55
|
325 | stmts.push(cx.stmt_expr(cx.expr_loop(DUMMY_SP, cx.block(DUMMY_SP, vec![
| ^^^^^ expected 2 parameters
|
= note: the following parameter types were expected: syntax::codemap::Span, std::vec::Vec<syntax::ast::Stmt>
error[E0061]: this function takes 2 parameters but 3 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:385:19
|
385 | let body = cx.block(DUMMY_SP, stmts, None);
| ^^^^^ expected 2 parameters
|
= note: the following parameter types were expected: syntax::codemap::Span, std::vec::Vec<syntax::ast::Stmt>
error: the type of this value must be known in this context
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:459:25
|
459 | let visibility = if parser.eat_keyword(token::keywords::Pub) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0061]: this function takes 3 parameters but 2 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:627:30
|
627 | cx.pat(DUMMY_SP, ast::PatKind::TupleStruct(cx.path_ident(DUMMY_SP, ident.0), None))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters
|
= note: the following parameter types were expected: syntax::ast::Path, std::vec::Vec<syntax::ptr::P<syntax::ast::Pat>>, std::option::Option<usize>
error[E0061]: this function takes 3 parameters but 2 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:645:56
|
645 | cx.arm(sp, vec![cx.pat(sp, ast::PatKind::TupleStruct(cx.path_ident(sp, terminal), Some(pats.clone())))], expr),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters
|
= note: the following parameter types were expected: syntax::ast::Path, std::vec::Vec<syntax::ptr::P<syntax::ast::Pat>>, std::option::Option<usize>
error[E0061]: this function takes 2 parameters but 3 parameters were supplied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/parser.rs:659:24
|
659 | cx.block(DUMMY_SP, vec![quote_stmt!(cx, println!("reduce by {}", $rule_str);).unwrap()], Some(expr)));
| ^^^^^ expected 2 parameters
|
= note: the following parameter types were expected: syntax::codemap::Span, std::vec::Vec<syntax::ast::Stmt>
error[E0277]: the trait bound `syntax::ext::base::TTMacroExpander: std::marker::Sized` is not satisfied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lib.rs:20:41
|
20 | base::SyntaxExtension::NormalTT(Box::new(parser::expand_parser), None, true));
| ^^^^^^^^
|
= note: `syntax::ext::base::TTMacroExpander` does not have a constant size known at compile-time
= note: required by `std::boxed::<impl Box<T>>::new`
error[E0277]: the trait bound `syntax::ext::base::TTMacroExpander: std::marker::Sized` is not satisfied
--> /home/omer/.cargo/registry/src/github.com-1ecc6299db9ec823/plex-0.0.2/src/lib.rs:23:41
|
23 | base::SyntaxExtension::NormalTT(Box::new(lexer::expand_lexer), None, true));
| ^^^^^^^^
|
= note: `syntax::ext::base::TTMacroExpander` does not have a constant size known at compile-time
= note: required by `std::boxed::<impl Box<T>>::new`
error: aborting due to 15 previous errors
error: Could not compile `plex`.
goffrie commented
Fixed again. I will look into using syntex+rustc_macro to reduce breakage in the future.