[INFO] crate brainfuck_macros 0.1.5 is already in cache [INFO] extracting crate brainfuck_macros 0.1.5 into work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/brainfuck_macros/0.1.5 [INFO] extracting crate brainfuck_macros 0.1.5 into work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/brainfuck_macros/0.1.5 [INFO] validating manifest of brainfuck_macros-0.1.5 on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of brainfuck_macros-0.1.5 on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing brainfuck_macros-0.1.5 [INFO] finished frobbing brainfuck_macros-0.1.5 [INFO] frobbed toml for brainfuck_macros-0.1.5 written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/brainfuck_macros/0.1.5/Cargo.toml [INFO] started frobbing brainfuck_macros-0.1.5 [INFO] finished frobbing brainfuck_macros-0.1.5 [INFO] frobbed toml for brainfuck_macros-0.1.5 written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/brainfuck_macros/0.1.5/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking brainfuck_macros-0.1.5 against master#60960a260f7b5c695fd0717311d72ce62dd4eb43 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-3/master#60960a260f7b5c695fd0717311d72ce62dd4eb43:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/brainfuck_macros/0.1.5:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 76fa5314dee84b92cb34db660349ac0d38942c0c6fe38fc4a499b8a91b120446 [INFO] running `"docker" "start" "-a" "76fa5314dee84b92cb34db660349ac0d38942c0c6fe38fc4a499b8a91b120446"` [INFO] [stderr] Compiling brainfuck_macros v0.1.5 (/opt/crater/workdir) [INFO] [stderr] error[E0557]: feature has been removed [INFO] [stderr] --> src/lib.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | #![feature(quote, plugin_registrar, rustc_private, core)] [INFO] [stderr] | ^^^^^ feature has been removed [INFO] [stderr] [INFO] [stderr] error[E0557]: feature has been removed [INFO] [stderr] --> src/lib.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | #![feature(quote, plugin_registrar, rustc_private, core)] [INFO] [stderr] | ^^^^^ feature has been removed [INFO] [stderr] [INFO] [stderr] error[E0557]: feature has been removed [INFO] [stderr] --> src/lib.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | #![feature(quote, plugin_registrar, rustc_private, core)] [INFO] [stderr] | ^^^^^ feature has been removed [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::codemap` [INFO] [stderr] --> src/lib.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use syntax::codemap; [INFO] [stderr] | ^^^^^^^^^^^^^^^ no `codemap` in the root [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::ext::base::MacExpr` [INFO] [stderr] --> src/lib.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | use syntax::ext::base::{ExtCtxt, MacResult, MacExpr}; [INFO] [stderr] | ^^^^^^^ no `MacExpr` in `ext::base` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `rustc::plugin` [INFO] [stderr] --> src/lib.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | use rustc::plugin::Registry; [INFO] [stderr] | ^^^^^^ could not find `plugin` in `rustc` [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | array: quote_expr!(&mut *cx, _array), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | idx: quote_expr!(&mut *cx, _i), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | rdr: quote_expr!(&mut *cx, _r), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | wtr: quote_expr!(&mut *cx, _w), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | MacExpr::new(quote_expr!(bf.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:82:26 [INFO] [stderr] | [INFO] [stderr] 82 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::codemap` [INFO] [stderr] --> src/lib.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use syntax::codemap; [INFO] [stderr] | ^^^^^^^^^^^^^^^ no `codemap` in the root [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::ext::base::MacExpr` [INFO] [stderr] --> src/lib.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | use syntax::ext::base::{ExtCtxt, MacResult, MacExpr}; [INFO] [stderr] | ^^^^^^^ no `MacExpr` in `ext::base` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `rustc::plugin` [INFO] [stderr] --> src/lib.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | use rustc::plugin::Registry; [INFO] [stderr] | ^^^^^^ could not find `plugin` in `rustc` [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | array: quote_expr!(&mut *cx, _array), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | idx: quote_expr!(&mut *cx, _i), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | rdr: quote_expr!(&mut *cx, _r), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | wtr: quote_expr!(&mut *cx, _w), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | MacExpr::new(quote_expr!(bf.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:82:26 [INFO] [stderr] | [INFO] [stderr] 82 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:125:22 [INFO] [stderr] | [INFO] [stderr] 125 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:151:22 [INFO] [stderr] | [INFO] [stderr] 151 | Some(quote_expr!(self.cx, try!($wtr.write(&[$array[$idx]])))) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:161:22 [INFO] [stderr] | [INFO] [stderr] 161 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:175:22 [INFO] [stderr] | [INFO] [stderr] 175 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:30:63 [INFO] [stderr] | [INFO] [stderr] 30 | fn brainfuck(cx: &mut ExtCtxt, sp: codemap::Span, tts: &[ast::TokenTree]) -> Box { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:60:58 [INFO] [stderr] | [INFO] [stderr] 60 | fn tts_to_expr(&self, sp: codemap::Span, tts: &[ast::TokenTree]) -> P { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:125:22 [INFO] [stderr] | [INFO] [stderr] 125 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:69:56 [INFO] [stderr] | [INFO] [stderr] 69 | fn tt_to_expr(&self, _sp: codemap::Span, tt: &ast::TokenTree) -> Option> { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:151:22 [INFO] [stderr] | [INFO] [stderr] 151 | Some(quote_expr!(self.cx, try!($wtr.write(&[$array[$idx]])))) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtToken` in module `ast` [INFO] [stderr] --> src/lib.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | ast::TtToken(sp, ref tok) => self.token_to_expr(sp, tok), [INFO] [stderr] | ^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtDelimited` in module `ast` [INFO] [stderr] --> src/lib.rs:74:18 [INFO] [stderr] | [INFO] [stderr] 74 | ast::TtDelimited(sp, ref toks) => { [INFO] [stderr] | ^^^^^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtSequence` in module `ast` [INFO] [stderr] --> src/lib.rs:94:18 [INFO] [stderr] | [INFO] [stderr] 94 | ast::TtSequence(sp, _) => { [INFO] [stderr] | ^^^^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:161:22 [INFO] [stderr] | [INFO] [stderr] 161 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:175:22 [INFO] [stderr] | [INFO] [stderr] 175 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `syntax::ext::build::AstBuilder` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use syntax::ext::build::AstBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:30:82 [INFO] [stderr] | [INFO] [stderr] 30 | fn brainfuck(cx: &mut ExtCtxt, sp: codemap::Span, tts: &[ast::TokenTree]) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MacResult+'static` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:30:63 [INFO] [stderr] | [INFO] [stderr] 30 | fn brainfuck(cx: &mut ExtCtxt, sp: codemap::Span, tts: &[ast::TokenTree]) -> Box { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:60:58 [INFO] [stderr] | [INFO] [stderr] 60 | fn tts_to_expr(&self, sp: codemap::Span, tts: &[ast::TokenTree]) -> P { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:69:56 [INFO] [stderr] | [INFO] [stderr] 69 | fn tt_to_expr(&self, _sp: codemap::Span, tt: &ast::TokenTree) -> Option> { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtToken` in module `ast` [INFO] [stderr] --> src/lib.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | ast::TtToken(sp, ref tok) => self.token_to_expr(sp, tok), [INFO] [stderr] | ^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtDelimited` in module `ast` [INFO] [stderr] --> src/lib.rs:74:18 [INFO] [stderr] | [INFO] [stderr] 74 | ast::TtDelimited(sp, ref toks) => { [INFO] [stderr] | ^^^^^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtSequence` in module `ast` [INFO] [stderr] --> src/lib.rs:94:18 [INFO] [stderr] | [INFO] [stderr] 94 | ast::TtSequence(sp, _) => { [INFO] [stderr] | ^^^^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] warning: unused import: `syntax::ext::build::AstBuilder` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use syntax::ext::build::AstBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:30:82 [INFO] [stderr] | [INFO] [stderr] 30 | fn brainfuck(cx: &mut ExtCtxt, sp: codemap::Span, tts: &[ast::TokenTree]) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MacResult+'static` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::codemap` [INFO] [stderr] --> src/lib.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use syntax::codemap; [INFO] [stderr] | ^^^^^^^^^^^^^^^ no `codemap` in the root [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::ext::base::MacExpr` [INFO] [stderr] --> src/lib.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | use syntax::ext::base::{ExtCtxt, MacResult, MacExpr}; [INFO] [stderr] | ^^^^^^^ no `MacExpr` in `ext::base` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `rustc::plugin` [INFO] [stderr] --> src/lib.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | use rustc::plugin::Registry; [INFO] [stderr] | ^^^^^^ could not find `plugin` in `rustc` [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | array: quote_expr!(&mut *cx, _array), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | idx: quote_expr!(&mut *cx, _i), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | rdr: quote_expr!(&mut *cx, _r), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | wtr: quote_expr!(&mut *cx, _w), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | MacExpr::new(quote_expr!(bf.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:82:26 [INFO] [stderr] | [INFO] [stderr] 82 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | let block = self.cx.block(sp, v, None); [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | token::Lt | token::Gt => { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | token::Lt | token::Gt => { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 139 | token::BinOpEq(a) => recompose!(token::BinOp(a)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 141 | token::BinOp(token::Shl) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 145 | token::BinOp(token::Shr) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | token::Dot => { [INFO] [stderr] | ^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | token::DotDot => recompose!(token::Dot, token::Dot), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | token::DotDotDot => recompose!(token::Dot, token::Dot, token::Dot), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | token::Comma => { [INFO] [stderr] | ^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 172 | token::BinOp(a @ token::Plus) | token::BinOp(a @ token::Minus) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:172:45 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 172 | token::BinOp(a @ token::Plus) | token::BinOp(a @ token::Minus) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | token::FatArrow => recompose!(token::Gt), [INFO] [stderr] | ^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | token::RArrow => recompose!(token::BinOp(token::Minus), token::Gt), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | token::LArrow => recompose!(token::Lt, token::BinOp(token::Minus)), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | let block = self.cx.block(sp, v, None); [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:125:22 [INFO] [stderr] | [INFO] [stderr] 125 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:151:22 [INFO] [stderr] | [INFO] [stderr] 151 | Some(quote_expr!(self.cx, try!($wtr.write(&[$array[$idx]])))) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:161:22 [INFO] [stderr] | [INFO] [stderr] 161 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_expr!` in this scope [INFO] [stderr] --> src/lib.rs:175:22 [INFO] [stderr] | [INFO] [stderr] 175 | Some(quote_expr!(self.cx, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:30:63 [INFO] [stderr] | [INFO] [stderr] 30 | fn brainfuck(cx: &mut ExtCtxt, sp: codemap::Span, tts: &[ast::TokenTree]) -> Box { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:60:58 [INFO] [stderr] | [INFO] [stderr] 60 | fn tts_to_expr(&self, sp: codemap::Span, tts: &[ast::TokenTree]) -> P { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `TokenTree` in module `ast` [INFO] [stderr] --> src/lib.rs:69:56 [INFO] [stderr] | [INFO] [stderr] 69 | fn tt_to_expr(&self, _sp: codemap::Span, tt: &ast::TokenTree) -> Option> { [INFO] [stderr] | ^^^^^^^^^ not found in `ast` [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::ext::tt::quoted::TokenTree; [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::tokenstream::TokenTree; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtToken` in module `ast` [INFO] [stderr] --> src/lib.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | ast::TtToken(sp, ref tok) => self.token_to_expr(sp, tok), [INFO] [stderr] | ^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtDelimited` in module `ast` [INFO] [stderr] --> src/lib.rs:74:18 [INFO] [stderr] | [INFO] [stderr] 74 | ast::TtDelimited(sp, ref toks) => { [INFO] [stderr] | ^^^^^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TtSequence` in module `ast` [INFO] [stderr] --> src/lib.rs:94:18 [INFO] [stderr] | [INFO] [stderr] 94 | ast::TtSequence(sp, _) => { [INFO] [stderr] | ^^^^^^^^^^ not found in `ast` [INFO] [stderr] [INFO] [stderr] warning: unused import: `syntax::ext::build::AstBuilder` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use syntax::ext::build::AstBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:30:82 [INFO] [stderr] | [INFO] [stderr] 30 | fn brainfuck(cx: &mut ExtCtxt, sp: codemap::Span, tts: &[ast::TokenTree]) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MacResult+'static` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 139 | token::BinOpEq(a) => recompose!(token::BinOp(a)), [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 142 | recompose!(token::Lt, token::Lt) [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 146 | recompose!(token::Gt, token::Gt) [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 154 | token::DotDot => recompose!(token::Dot, token::Dot), [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 156 | token::DotDotDot => recompose!(token::Dot, token::Dot, token::Dot), [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stderr] --> src/lib.rs:173:64 [INFO] [stderr] | [INFO] [stderr] 173 | let dir: u8 = if a == token::Plus { 1 } else { -1 }; [INFO] [stderr] | ^^ cannot apply unary operator `-` [INFO] [stderr] | [INFO] [stderr] = note: unsigned values cannot be negated [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 180 | token::FatArrow => recompose!(token::Gt), [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 182 | token::RArrow => recompose!(token::BinOp(token::Minus), token::Gt), [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 184 | token::LArrow => recompose!(token::Lt, token::BinOp(token::Minus)), [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error: aborting due to 44 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0412, E0432, E0557, E0600. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: Could not compile `brainfuck_macros`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | token::Lt | token::Gt => { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | token::Lt | token::Gt => { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 139 | token::BinOpEq(a) => recompose!(token::BinOp(a)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 141 | token::BinOp(token::Shl) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 145 | token::BinOp(token::Shr) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | token::Dot => { [INFO] [stderr] | ^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | token::DotDot => recompose!(token::Dot, token::Dot), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | token::DotDotDot => recompose!(token::Dot, token::Dot, token::Dot), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | token::Comma => { [INFO] [stderr] | ^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 172 | token::BinOp(a @ token::Plus) | token::BinOp(a @ token::Minus) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:172:45 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 172 | token::BinOp(a @ token::Plus) | token::BinOp(a @ token::Minus) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | token::FatArrow => recompose!(token::Gt), [INFO] [stderr] | ^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | token::RArrow => recompose!(token::BinOp(token::Minus), token::Gt), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | token::LArrow => recompose!(token::Lt, token::BinOp(token::Minus)), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 139 | token::BinOpEq(a) => recompose!(token::BinOp(a)), [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 142 | recompose!(token::Lt, token::Lt) [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 146 | recompose!(token::Gt, token::Gt) [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 154 | token::DotDot => recompose!(token::Dot, token::Dot), [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 156 | token::DotDotDot => recompose!(token::Dot, token::Dot, token::Dot), [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stderr] --> src/lib.rs:173:64 [INFO] [stderr] | [INFO] [stderr] 173 | let dir: u8 = if a == token::Plus { 1 } else { -1 }; [INFO] [stderr] | ^^ cannot apply unary operator `-` [INFO] [stderr] | [INFO] [stderr] = note: unsigned values cannot be negated [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 180 | token::FatArrow => recompose!(token::Gt), [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 182 | token::RArrow => recompose!(token::BinOp(token::Minus), token::Gt), [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 184 | token::LArrow => recompose!(token::Lt, token::BinOp(token::Minus)), [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error: aborting due to 44 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0412, E0432, E0557, E0600. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | let block = self.cx.block(sp, v, None); [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error: Could not compile `brainfuck_macros`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | token::Lt | token::Gt => { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | token::Lt | token::Gt => { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 139 | token::BinOpEq(a) => recompose!(token::BinOp(a)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 141 | token::BinOp(token::Shl) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 145 | token::BinOp(token::Shr) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | token::Dot => { [INFO] [stderr] | ^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | token::DotDot => recompose!(token::Dot, token::Dot), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | token::DotDotDot => recompose!(token::Dot, token::Dot, token::Dot), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:159:13 [INFO] [stderr] | [INFO] [stderr] 159 | token::Comma => { [INFO] [stderr] | ^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 172 | token::BinOp(a @ token::Plus) | token::BinOp(a @ token::Minus) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:172:45 [INFO] [stderr] | [INFO] [stderr] 122 | match *tok { [INFO] [stderr] | ---- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] ... [INFO] [stderr] 172 | token::BinOp(a @ token::Plus) | token::BinOp(a @ token::Minus) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | token::FatArrow => recompose!(token::Gt), [INFO] [stderr] | ^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | token::RArrow => recompose!(token::BinOp(token::Minus), token::Gt), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | token::LArrow => recompose!(token::Lt, token::BinOp(token::Minus)), [INFO] [stderr] | ^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 139 | token::BinOpEq(a) => recompose!(token::BinOp(a)), [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 142 | recompose!(token::Lt, token::Lt) [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 146 | recompose!(token::Gt, token::Gt) [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 154 | token::DotDot => recompose!(token::Dot, token::Dot), [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 156 | token::DotDotDot => recompose!(token::Dot, token::Dot, token::Dot), [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stderr] --> src/lib.rs:173:64 [INFO] [stderr] | [INFO] [stderr] 173 | let dir: u8 = if a == token::Plus { 1 } else { -1 }; [INFO] [stderr] | ^^ cannot apply unary operator `-` [INFO] [stderr] | [INFO] [stderr] = note: unsigned values cannot be negated [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 180 | token::FatArrow => recompose!(token::Gt), [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 182 | token::RArrow => recompose!(token::BinOp(token::Minus), token::Gt), [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:116:53 [INFO] [stderr] | [INFO] [stderr] 116 | Some(self.cx.expr_block(self.cx.block(sp, stmts, None))) [INFO] [stderr] | ^^^^^ expected 2 parameters [INFO] [stderr] ... [INFO] [stderr] 184 | token::LArrow => recompose!(token::Lt, token::BinOp(token::Minus)), [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] error: aborting due to 44 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0412, E0432, E0557, E0600. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: Could not compile `brainfuck_macros`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "76fa5314dee84b92cb34db660349ac0d38942c0c6fe38fc4a499b8a91b120446"` [INFO] running `"docker" "rm" "-f" "76fa5314dee84b92cb34db660349ac0d38942c0c6fe38fc4a499b8a91b120446"` [INFO] [stdout] 76fa5314dee84b92cb34db660349ac0d38942c0c6fe38fc4a499b8a91b120446