[INFO] fetching crate merge-lang 0.1.2...
[INFO] checking merge-lang-0.1.2 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate merge-lang 0.1.2 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate merge-lang 0.1.2 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate merge-lang 0.1.2
[INFO] finished tweaking crates.io crate merge-lang 0.1.2
[INFO] tweaked toml for crates.io crate merge-lang 0.1.2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate merge-lang 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bytestring v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ae0d1141d9fdbc18f4ead9b54d028d9685f7fac1f3bd9957734ccfc1aae1da4f
[INFO] running `Command { std: "docker" "start" "-a" "ae0d1141d9fdbc18f4ead9b54d028d9685f7fac1f3bd9957734ccfc1aae1da4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae0d1141d9fdbc18f4ead9b54d028d9685f7fac1f3bd9957734ccfc1aae1da4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae0d1141d9fdbc18f4ead9b54d028d9685f7fac1f3bd9957734ccfc1aae1da4f", kill_on_drop: false }`
[INFO] [stdout] ae0d1141d9fdbc18f4ead9b54d028d9685f7fac1f3bd9957734ccfc1aae1da4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 690eeb46cfe383004b65f5c506997387514e7b9bf15a7023814383fc6943c8ae
[INFO] running `Command { std: "docker" "start" "-a" "690eeb46cfe383004b65f5c506997387514e7b9bf15a7023814383fc6943c8ae", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking regex-syntax v0.7.5
[INFO] [stderr]    Compiling thiserror v1.0.49
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking bytestring v1.3.0
[INFO] [stderr]     Checking aho-corasick v1.1.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking regex-automata v0.3.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.49
[INFO] [stderr]     Checking regex v1.9.6
[INFO] [stderr]     Checking merge-lang v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `keyword`
[INFO] [stdout]  --> src/inline/langs.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | macro_rules! keyword {
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `task::Task`
[INFO] [stdout]   --> src/main.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 | use task::Task;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `keyword`
[INFO] [stdout]  --> src/inline/langs.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | macro_rules! keyword {
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `task::Task`
[INFO] [stdout]   --> src/main.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 | use task::Task;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser/parser.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Some(Token::Identifier(_)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curly_bracket_count`
[INFO] [stdout]   --> src/parser/parser.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut curly_bracket_count = Vec::<Token>::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curly_bracket_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `take`
[INFO] [stdout]   --> src/parser/parser.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Some(Token::Bridge { take, send }) => {
[INFO] [stdout]    |                                  ^^^^ help: try ignoring the field: `take: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]   --> src/parser/parser.rs:60:40
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Some(Token::Bridge { take, send }) => {
[INFO] [stdout]    |                                        ^^^^ help: try ignoring the field: `send: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser/parser.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Some(Token::Identifier(_)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut curly_bracket_count = Vec::<Token>::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curly_bracket_count`
[INFO] [stdout]   --> src/parser/parser.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut curly_bracket_count = Vec::<Token>::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curly_bracket_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `take`
[INFO] [stdout]   --> src/parser/parser.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Some(Token::Bridge { take, send }) => {
[INFO] [stdout]    |                                  ^^^^ help: try ignoring the field: `take: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]   --> src/parser/parser.rs:60:40
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Some(Token::Bridge { take, send }) => {
[INFO] [stdout]    |                                        ^^^^ help: try ignoring the field: `send: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut curly_bracket_count = Vec::<Token>::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from` and `to_str` are never used
[INFO] [stdout]   --> src/inline/langs.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl InLang {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 34 |     // TODO: this is ambigious by the case size (upper - lower)
[INFO] [stdout] 35 |     fn from(lang: &str) -> Option<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn to_str(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logger` is never constructed
[INFO] [stdout]  --> src/log/logger.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Logger {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Destination` is never used
[INFO] [stdout]   --> src/log/logger.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Destination {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoggerOptions` is never constructed
[INFO] [stdout]   --> src/log/logger.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct LoggerOptions {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_options` are never used
[INFO] [stdout]   --> src/log/logger.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Logger {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 32 |     fn new(destination: Destination) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn set_options(&mut self, options: LoggerOptions) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidToken` and `IncompleteToken` are never constructed
[INFO] [stdout]   --> src/parser/error/syntax.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum SyntaxError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 8  |     #[error("Invalid token: {0}")]
[INFO] [stdout] 9  |     InvalidToken(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     #[error("Expected: {0}, found: {1}")]
[INFO] [stdout] 11 |     IncompleteToken(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyntaxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser/error/syntax.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     UnexpectedToken(Token),
[INFO] [stdout]    |     --------------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 |     UnexpectedToken(()),
[INFO] [stdout]    |                     ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Syntax` is never constructed
[INFO] [stdout]   --> src/parser/error/syntax.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum ParserError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 16 |     Syntax(SyntaxError),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opts` is never read
[INFO] [stdout]  --> src/prep/preprocessor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Preprocessor<'a> {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 5 |     tokens: &'a mut Vec<Token>,
[INFO] [stdout] 6 |     opts: PreprocessorOpts,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Preprocessor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comments` is never read
[INFO] [stdout]   --> src/prep/preprocessor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PreprocessorOpts {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     comments: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PreprocessorOpts` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Task` is never used
[INFO] [stdout]  --> src/task/task.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Task {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TaskManager` is never constructed
[INFO] [stdout]  --> src/task/task.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TaskManager {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `pop`, `push`, and `run_all` are never used
[INFO] [stdout]   --> src/task/task.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TaskManager {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn pop(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn push(&mut self, task: Box<dyn Task>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn run_all(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `tokens`
[INFO] [stdout]    --> src/main.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut tokens = lexer.tokenize();
[INFO] [stdout]     |             ---------- move occurs because `tokens` has type `Vec<token::Token>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 251 |         let mut parser = parser::Parser::new(tokens);
[INFO] [stdout]     |                                              ------ value moved here
[INFO] [stdout] ...
[INFO] [stdout] 255 |         tokens.iter().for_each(|i| {
[INFO] [stdout]     |         ^^^^^^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: consider changing this parameter type in method `new` to borrow instead if owning the value isn't necessary
[INFO] [stdout]    --> src/parser/parser.rs:13:24
[INFO] [stdout]     |
[INFO] [stdout] 13  |     pub fn new(tokens: Vec<Token>) -> Self {
[INFO] [stdout]     |            ---         ^^^^^^^^^^ this parameter takes ownership of the value
[INFO] [stdout]     |            |
[INFO] [stdout]     |            in this method
[INFO] [stdout]     = note: borrow occurs due to deref coercion to `[token::Token]`
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let mut parser = parser::Parser::new(tokens.clone());
[INFO] [stdout]     |                                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `merge-lang` (bin "merge-lang" test) due to 2 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "690eeb46cfe383004b65f5c506997387514e7b9bf15a7023814383fc6943c8ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "690eeb46cfe383004b65f5c506997387514e7b9bf15a7023814383fc6943c8ae", kill_on_drop: false }`
[INFO] [stdout] 690eeb46cfe383004b65f5c506997387514e7b9bf15a7023814383fc6943c8ae
