[INFO] cloning repository https://github.com/klx01/codecrafters-interpreter-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/klx01/codecrafters-interpreter-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fklx01%2Fcodecrafters-interpreter-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fklx01%2Fcodecrafters-interpreter-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7618441a453f1ae759061cfd94f909d953bf7efd [INFO] testing klx01/codecrafters-interpreter-rust against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fklx01%2Fcodecrafters-interpreter-rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/klx01/codecrafters-interpreter-rust [INFO] finished tweaking git repo https://github.com/klx01/codecrafters-interpreter-rust [INFO] tweaked toml for git repo https://github.com/klx01/codecrafters-interpreter-rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/klx01/codecrafters-interpreter-rust on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/klx01/codecrafters-interpreter-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded syn v2.0.75 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9b17a537909b6d294623bf30534d636056c06490d1031327a6460f79d29a532c [INFO] running `Command { std: "docker" "start" "-a" "9b17a537909b6d294623bf30534d636056c06490d1031327a6460f79d29a532c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9b17a537909b6d294623bf30534d636056c06490d1031327a6460f79d29a532c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b17a537909b6d294623bf30534d636056c06490d1031327a6460f79d29a532c", kill_on_drop: false }` [INFO] [stdout] 9b17a537909b6d294623bf30534d636056c06490d1031327a6460f79d29a532c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8737cff7c1fca6f3b9cb75f10a5a36797ac8438df10105f2c2ffaf4f6968e06c [INFO] running `Command { std: "docker" "start" "-a" "8737cff7c1fca6f3b9cb75f10a5a36797ac8438df10105f2c2ffaf4f6968e06c", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.75 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling codecrafters-interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> src/parser_statements.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | Nop{start: Location, end: Location}, [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_statement_list_from_string` is never used [INFO] [stdout] --> src/parser_statements.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub(crate) fn parse_statement_list_from_string(str: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:126:38 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) fn parse_expression(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden 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] 126 | pub(crate) fn parse_expression(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:130:31 [INFO] [stdout] | [INFO] [stdout] 130 | fn parse_assignment(mut tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 130 | fn parse_assignment(mut tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:154:34 [INFO] [stdout] | [INFO] [stdout] 154 | fn parse_binary_expression(tail: &[Token], prev_end: Option, parent_priority: u8) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 154 | fn parse_binary_expression(tail: &[Token], prev_end: Option, parent_priority: u8) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | fn parse_operand(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 190 | fn parse_operand(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:207:30 [INFO] [stdout] | [INFO] [stdout] 207 | fn parse_operand_inner(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 207 | fn parse_operand_inner(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:270:30 [INFO] [stdout] | [INFO] [stdout] 270 | fn parse_call_args(mut tail: &[Token], mut prev_end: Location) -> Option<(Vec, &[Token], &Token)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 270 | fn parse_call_args(mut tail: &[Token], mut prev_end: Location) -> Option<(Vec>, &[Token], &Token)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:133:37 [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) fn parse_scope(mut tail: &[Token], open_location: Option) -> Option<(Scope, &[Token], Location, Location)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) fn parse_scope(mut tail: &[Token], open_location: Option) -> Option<(Scope<'_>, &[Token], Location, Location)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:169:26 [INFO] [stdout] | [INFO] [stdout] 169 | fn parse_statement(tail: &[Token], prev_end: Option) -> Option<(ParseResult, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 169 | fn parse_statement(tail: &[Token], prev_end: Option) -> Option<(ParseResult<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:359:34 [INFO] [stdout] | [INFO] [stdout] 359 | fn parse_control_flow_body(tail: &[Token], prev_end: Location) -> Option<(Option, &[Token], Location)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 359 | fn parse_control_flow_body(tail: &[Token], prev_end: Location) -> Option<(Option>, &[Token], Location)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:374:33 [INFO] [stdout] | [INFO] [stdout] 374 | fn parse_actual_statement(tail: &[Token], prev_end: Location) -> Option<(Option, &[Token], Location)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 374 | fn parse_actual_statement(tail: &[Token], prev_end: Location) -> Option<(Option>, &[Token], Location)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.88s [INFO] running `Command { std: "docker" "inspect" "8737cff7c1fca6f3b9cb75f10a5a36797ac8438df10105f2c2ffaf4f6968e06c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8737cff7c1fca6f3b9cb75f10a5a36797ac8438df10105f2c2ffaf4f6968e06c", kill_on_drop: false }` [INFO] [stdout] 8737cff7c1fca6f3b9cb75f10a5a36797ac8438df10105f2c2ffaf4f6968e06c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f10f49429b9a7b8af3c330529cdff0eebb3be6bad4d4cad4288acf941a7a2c30 [INFO] running `Command { std: "docker" "start" "-a" "f10f49429b9a7b8af3c330529cdff0eebb3be6bad4d4cad4288acf941a7a2c30", kill_on_drop: false }` [INFO] [stderr] Compiling codecrafters-interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> src/parser_statements.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | Nop{start: Location, end: Location}, [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:126:38 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) fn parse_expression(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden 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] 126 | pub(crate) fn parse_expression(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:130:31 [INFO] [stdout] | [INFO] [stdout] 130 | fn parse_assignment(mut tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 130 | fn parse_assignment(mut tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:154:34 [INFO] [stdout] | [INFO] [stdout] 154 | fn parse_binary_expression(tail: &[Token], prev_end: Option, parent_priority: u8) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 154 | fn parse_binary_expression(tail: &[Token], prev_end: Option, parent_priority: u8) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | fn parse_operand(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 190 | fn parse_operand(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:207:30 [INFO] [stdout] | [INFO] [stdout] 207 | fn parse_operand_inner(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 207 | fn parse_operand_inner(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_expressions.rs:270:30 [INFO] [stdout] | [INFO] [stdout] 270 | fn parse_call_args(mut tail: &[Token], mut prev_end: Location) -> Option<(Vec, &[Token], &Token)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 270 | fn parse_call_args(mut tail: &[Token], mut prev_end: Location) -> Option<(Vec>, &[Token], &Token)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:133:37 [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) fn parse_scope(mut tail: &[Token], open_location: Option) -> Option<(Scope, &[Token], Location, Location)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) fn parse_scope(mut tail: &[Token], open_location: Option) -> Option<(Scope<'_>, &[Token], Location, Location)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:169:26 [INFO] [stdout] | [INFO] [stdout] 169 | fn parse_statement(tail: &[Token], prev_end: Option) -> Option<(ParseResult, &[Token])> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 169 | fn parse_statement(tail: &[Token], prev_end: Option) -> Option<(ParseResult<'_>, &[Token])> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:359:34 [INFO] [stdout] | [INFO] [stdout] 359 | fn parse_control_flow_body(tail: &[Token], prev_end: Location) -> Option<(Option, &[Token], Location)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 359 | fn parse_control_flow_body(tail: &[Token], prev_end: Location) -> Option<(Option>, &[Token], Location)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser_statements.rs:374:33 [INFO] [stdout] | [INFO] [stdout] 374 | fn parse_actual_statement(tail: &[Token], prev_end: Location) -> Option<(Option, &[Token], Location)> { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is elided here the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 374 | fn parse_actual_statement(tail: &[Token], prev_end: Location) -> Option<(Option>, &[Token], Location)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.30s [INFO] running `Command { std: "docker" "inspect" "f10f49429b9a7b8af3c330529cdff0eebb3be6bad4d4cad4288acf941a7a2c30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f10f49429b9a7b8af3c330529cdff0eebb3be6bad4d4cad4288acf941a7a2c30", kill_on_drop: false }` [INFO] [stdout] f10f49429b9a7b8af3c330529cdff0eebb3be6bad4d4cad4288acf941a7a2c30 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] dc6161d1fcf7a7484b2cee80e79d513aa1fbb1899f0094700594e8ac8673767c [INFO] running `Command { std: "docker" "start" "-a" "dc6161d1fcf7a7484b2cee80e79d513aa1fbb1899f0094700594e8ac8673767c", kill_on_drop: false }` [INFO] [stderr] warning: field `start` is never read [INFO] [stderr] --> src/parser_statements.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | Nop{start: Location, end: Location}, [INFO] [stderr] | --- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_expressions.rs:126:38 [INFO] [stderr] | [INFO] [stderr] 126 | pub(crate) fn parse_expression(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 126 | pub(crate) fn parse_expression(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_expressions.rs:130:31 [INFO] [stderr] | [INFO] [stderr] 130 | fn parse_assignment(mut tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 130 | fn parse_assignment(mut tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_expressions.rs:154:34 [INFO] [stderr] | [INFO] [stderr] 154 | fn parse_binary_expression(tail: &[Token], prev_end: Option, parent_priority: u8) -> Option<(Expression, &[Token])> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 154 | fn parse_binary_expression(tail: &[Token], prev_end: Option, parent_priority: u8) -> Option<(Expression<'_>, &[Token])> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_expressions.rs:190:24 [INFO] [stderr] | [INFO] [stderr] 190 | fn parse_operand(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 190 | fn parse_operand(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_expressions.rs:207:30 [INFO] [stderr] | [INFO] [stderr] 207 | fn parse_operand_inner(tail: &[Token], prev_end: Option) -> Option<(Expression, &[Token])> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] running 48 tests [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 207 | fn parse_operand_inner(tail: &[Token], prev_end: Option) -> Option<(Expression<'_>, &[Token])> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_expressions.rs:270:30 [INFO] [stderr] | [INFO] [stderr] 270 | fn parse_call_args(mut tail: &[Token], mut prev_end: Location) -> Option<(Vec, &[Token], &Token)> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | | [INFO] [stderr] | | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 270 | fn parse_call_args(mut tail: &[Token], mut prev_end: Location) -> Option<(Vec>, &[Token], &Token)> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_statements.rs:133:37 [INFO] [stderr] | [INFO] [stderr] 133 | pub(crate) fn parse_scope(mut tail: &[Token], open_location: Option) -> Option<(Scope, &[Token], Location, Location)> { [INFO] [stderr] | ^^^^^^^^ ^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 133 | pub(crate) fn parse_scope(mut tail: &[Token], open_location: Option) -> Option<(Scope<'_>, &[Token], Location, Location)> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_statements.rs:169:26 [INFO] [stderr] | [INFO] [stderr] 169 | fn parse_statement(tail: &[Token], prev_end: Option) -> Option<(ParseResult, &[Token])> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 169 | fn parse_statement(tail: &[Token], prev_end: Option) -> Option<(ParseResult<'_>, &[Token])> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_statements.rs:359:34 [INFO] [stderr] | [INFO] [stderr] 359 | fn parse_control_flow_body(tail: &[Token], prev_end: Location) -> Option<(Option, &[Token], Location)> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 359 | fn parse_control_flow_body(tail: &[Token], prev_end: Location) -> Option<(Option>, &[Token], Location)> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser_statements.rs:374:33 [INFO] [stderr] | [INFO] [stderr] 374 | fn parse_actual_statement(tail: &[Token], prev_end: Location) -> Option<(Option, &[Token], Location)> { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is elided here the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 374 | fn parse_actual_statement(tail: &[Token], prev_end: Location) -> Option<(Option>, &[Token], Location)> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `codecrafters-interpreter` (bin "codecrafters-interpreter" test) generated 11 warnings (run `cargo fix --bin "codecrafters-interpreter" -p codecrafters-interpreter --tests` to apply 10 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codecrafters_interpreter-0ca3937da9106c2e) [INFO] [stdout] test eval::test::test_bool_ops_short_circuit ... ok [INFO] [stdout] test eval::test::test_concat ... ok [INFO] [stdout] test eval::test::test_if ... ok [INFO] [stdout] test eval::test::test_literals ... ok [INFO] [stdout] test eval::test::test_scopes ... ok [INFO] [stdout] test eval::test::test_native_functions ... ok [INFO] [stdout] test eval::test::test_closures ... ok [INFO] [stdout] test eval::test::test_strings ... ok [INFO] [stdout] test eval::test::test_comparison ... ok [INFO] [stdout] test eval::test::test_for ... ok [INFO] [stdout] test eval::test::test_bool_ops ... ok [INFO] [stdout] test eval::test::test_unary ... ok [INFO] [stdout] test eval::test::test_arithmetic ... ok [INFO] [stdout] test eval::test::test_equality ... ok [INFO] [stdout] test eval::test::test_variables ... ok [INFO] [stdout] test parser_expressions::test::test_parse_binary ... ok [INFO] [stdout] test eval::test::test_while ... ok [INFO] [stdout] test parser_expressions::test::test_parse_call ... ok [INFO] [stdout] test parser_expressions::test::test_parse_group ... ok [INFO] [stdout] test parser_expressions::test::test_parse_literals ... ok [INFO] [stdout] test parser_expressions::test::test_parse_unary ... ok [INFO] [stdout] test eval::test::test_user_functions ... ok [INFO] [stdout] test parser_expressions::test::test_parse_priority ... ok [INFO] [stdout] test parser_statements::test::test_nops ... ok [INFO] [stdout] test parser_statements::test::test_for ... ok [INFO] [stdout] test parser_statements::test::test_function_declaration ... ok [INFO] [stdout] test parser_statements::test::test_print ... ok [INFO] [stdout] test parser_statements::test::test_scopes ... ok [INFO] [stdout] test parser_statements::test::test_if ... ok [INFO] [stdout] test parser_statements::test::test_var ... ok [INFO] [stdout] test parser_statements::test::test_while ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_braces ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_chars ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_comment ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_empty ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_equals ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_identifiers ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_neg ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_number_edge_cases ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_number_no_dot ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_number_with_dot ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_parens ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_relation ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_reserved ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_slash ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_spaces ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_string_invalid ... ok [INFO] [stdout] test tokenizer::test::test_tokenize_string_valid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "dc6161d1fcf7a7484b2cee80e79d513aa1fbb1899f0094700594e8ac8673767c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc6161d1fcf7a7484b2cee80e79d513aa1fbb1899f0094700594e8ac8673767c", kill_on_drop: false }` [INFO] [stdout] dc6161d1fcf7a7484b2cee80e79d513aa1fbb1899f0094700594e8ac8673767c