[INFO] cloning repository https://github.com/Toasa/monkey_by_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Toasa/monkey_by_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToasa%2Fmonkey_by_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToasa%2Fmonkey_by_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f1a11dde471394148a8b3f887b5b380bf09e9683 [INFO] checking Toasa/monkey_by_rust against f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1 for pr-160235-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToasa%2Fmonkey_by_rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Toasa/monkey_by_rust [INFO] finished tweaking git repo https://github.com/Toasa/monkey_by_rust [INFO] tweaked toml for git repo https://github.com/Toasa/monkey_by_rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Toasa/monkey_by_rust on toolchain f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Toasa/monkey_by_rust 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" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: binary `monkey_by_rust` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /workspace/builds/worker-3-tc2/source/target/.../monkey_by_rust [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::non_kebab_case_bins` is set to `warn` by default [INFO] [stderr] help: to change the binary name to `monkey-by-rust`, convert `package.name` [INFO] [stderr] --> Cargo.toml:6:8 [INFO] [stderr] | [INFO] [stderr] 6 - name = "monkey_by_rust" [INFO] [stderr] 6 + name = "monkey-by-rust" [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `monkey-by-rust`, specify `bin.name` [INFO] [stderr] --> Cargo.toml:7:19 [INFO] [stderr] | [INFO] [stderr] 7 ~ version = "0.1.0" [INFO] [stderr] 8 + [[bin]] [INFO] [stderr] 9 + name = "monkey-by-rust" [INFO] [stderr] 10 + path = "src/main.rs" [INFO] [stderr] | [INFO] [stderr] warning: `monkey_by_rust` (manifest) generated 1 warning [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e [INFO] running `Command { std: "docker" "start" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e" "/opt/rustwide/cargo-home/bin/cargo" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e" "/opt/rustwide/cargo-home/bin/cargo" "+f99a7560a6b5f0a5e6894aea7e8afe0e01d3edd1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] warning: binary `monkey_by_rust` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /opt/rustwide/target/.../monkey_by_rust [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::non_kebab_case_bins` is set to `warn` by default [INFO] [stderr] help: to change the binary name to `monkey-by-rust`, convert `package.name` [INFO] [stderr] --> Cargo.toml:6:8 [INFO] [stderr] | [INFO] [stderr] 6 - name = "monkey_by_rust" [INFO] [stderr] 6 + name = "monkey-by-rust" [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `monkey-by-rust`, specify `bin.name` [INFO] [stderr] --> Cargo.toml:7:19 [INFO] [stderr] | [INFO] [stderr] 7 ~ version = "0.1.0" [INFO] [stderr] 8 + [[bin]] [INFO] [stderr] 9 + name = "monkey-by-rust" [INFO] [stderr] 10 + path = "src/main.rs" [INFO] [stderr] | [INFO] [stderr] warning: `monkey_by_rust` (manifest) generated 1 warning [INFO] [stderr] Checking monkey_by_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct ExprStmt { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 101 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExprStmt` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Block { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 113 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct Int { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 140 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Int` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct Prefix { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 152 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Prefix` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct Infix { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 165 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Infix` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct Bool { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 179 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Bool` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct If { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 191 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `If` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct Func { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 209 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Func` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 227 | pub struct Call { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 228 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Call` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct Let { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 76 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Let` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct Return { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 89 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Return` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct ExprStmt { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 101 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExprStmt` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Block { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 113 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct Ident { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 128 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ident` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct Int { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 140 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Int` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct Prefix { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 152 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Prefix` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct Infix { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 165 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Infix` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct Bool { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 179 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Bool` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct If { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 191 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `If` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct Func { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 209 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Func` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 227 | pub struct Call { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 228 | pub token: token::Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Call` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(l: &mut lexer::Lexer) -> Parser<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.59s [INFO] running `Command { std: "docker" "inspect" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e", kill_on_drop: false }` [INFO] [stdout] 70e8d76fa1c7c32558d75491d0101d6ba04aca59df629a8eae612d7fc481f07e