[INFO] cloning repository https://github.com/todesking/lisp.rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/todesking/lisp.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodesking%2Flisp.rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodesking%2Flisp.rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6ddd3a170082ae306fc608ed0811ec3ba4249eb9 [INFO] testing todesking/lisp.rs against master#160e7623e8cbbf1feab2b6e2a24733a98c7bde9c for pr-145628-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodesking%2Flisp.rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/todesking/lisp.rs [INFO] finished tweaking git repo https://github.com/todesking/lisp.rs [INFO] tweaked toml for git repo https://github.com/todesking/lisp.rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/todesking/lisp.rs on toolchain 160e7623e8cbbf1feab2b6e2a24733a98c7bde9c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/todesking/lisp.rs 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" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5145b2d32621b66304d6adb6e74138e51101711064efca075077f12e2fa53b85 [INFO] running `Command { std: "docker" "start" "-a" "5145b2d32621b66304d6adb6e74138e51101711064efca075077f12e2fa53b85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5145b2d32621b66304d6adb6e74138e51101711064efca075077f12e2fa53b85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5145b2d32621b66304d6adb6e74138e51101711064efca075077f12e2fa53b85", kill_on_drop: false }` [INFO] [stdout] 5145b2d32621b66304d6adb6e74138e51101711064efca075077f12e2fa53b85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5f0039a99633e2062e0c9f8baa675935050f084087957c74492b4dfda0a70a63 [INFO] running `Command { std: "docker" "start" "-a" "5f0039a99633e2062e0c9f8baa675935050f084087957c74492b4dfda0a70a63", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling log v0.4.13 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling utf8parse v0.2.0 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling nix v0.19.1 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling rustyline v7.1.0 [INFO] [stderr] Compiling lisprs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stdout] --> src/global_env.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | #[must_use] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/value.rs:474:26 [INFO] [stdout] | [INFO] [stdout] 474 | for r in rest_name { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 474 - for r in rest_name { [INFO] [stdout] 474 + while let Some(r) = rest_name { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 474 - for r in rest_name { [INFO] [stdout] 474 + if let Some(r) = rest_name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/value.rs:490:26 [INFO] [stdout] | [INFO] [stdout] 490 | for r in &lambda_def.rest_name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 490 - for r in &lambda_def.rest_name { [INFO] [stdout] 490 + while let Some(r) = &lambda_def.rest_name { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 490 - for r in &lambda_def.rest_name { [INFO] [stdout] 490 + if let Some(r) = &lambda_def.rest_name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/global_env.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn read_only(&self) -> ReadOnly { [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] 51 | pub fn read_only(&self) -> ReadOnly<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | fn parse_str(s: &str) -> ParseResult { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | fn parse_str(s: &str) -> ParseResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:186:17 [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_num(s: &str) -> ParseResult { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_num(s: &str) -> ParseResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/static_env.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/static_env.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | global: &GlobalEnv, [INFO] [stdout] | ^^^^^^^^^^ the lifetime is elided here [INFO] [stdout] 51 | current_module: Option, [INFO] [stdout] 52 | ) -> StaticEnv { [INFO] [stdout] | ^^^^^^^^^ 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] 52 | ) -> StaticEnv<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.66s [INFO] running `Command { std: "docker" "inspect" "5f0039a99633e2062e0c9f8baa675935050f084087957c74492b4dfda0a70a63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f0039a99633e2062e0c9f8baa675935050f084087957c74492b4dfda0a70a63", kill_on_drop: false }` [INFO] [stdout] 5f0039a99633e2062e0c9f8baa675935050f084087957c74492b4dfda0a70a63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 25f701c76fd9424ab4051be1f0c4ffc69899510b611a2c22811769f036a7fcd4 [INFO] running `Command { std: "docker" "start" "-a" "25f701c76fd9424ab4051be1f0c4ffc69899510b611a2c22811769f036a7fcd4", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling serde v1.0.120 [INFO] [stderr] Compiling const_fn v0.4.5 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling byteorder v1.4.2 [INFO] [stderr] Compiling itoa v0.4.7 [INFO] [stderr] Compiling syn v1.0.59 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling cast v0.2.3 [INFO] [stderr] Compiling serde_json v1.0.61 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling serde_derive v1.0.120 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling itertools v0.9.0 [INFO] [stderr] Compiling regex-syntax v0.6.22 [INFO] [stderr] Compiling half v1.7.1 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling oorandom v11.1.3 [INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stdout] --> src/global_env.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | #[must_use] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/value.rs:474:26 [INFO] [stdout] | [INFO] [stdout] 474 | for r in rest_name { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 474 - for r in rest_name { [INFO] [stdout] 474 + while let Some(r) = rest_name { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 474 - for r in rest_name { [INFO] [stdout] 474 + if let Some(r) = rest_name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/value.rs:490:26 [INFO] [stdout] | [INFO] [stdout] 490 | for r in &lambda_def.rest_name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 490 - for r in &lambda_def.rest_name { [INFO] [stdout] 490 + while let Some(r) = &lambda_def.rest_name { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 490 - for r in &lambda_def.rest_name { [INFO] [stdout] 490 + if let Some(r) = &lambda_def.rest_name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/global_env.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn read_only(&self) -> ReadOnly { [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] 51 | pub fn read_only(&self) -> ReadOnly<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | fn parse_str(s: &str) -> ParseResult { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | fn parse_str(s: &str) -> ParseResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:186:17 [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_num(s: &str) -> ParseResult { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_num(s: &str) -> ParseResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/static_env.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/static_env.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | global: &GlobalEnv, [INFO] [stdout] | ^^^^^^^^^^ the lifetime is elided here [INFO] [stdout] 51 | current_module: Option, [INFO] [stdout] 52 | ) -> StaticEnv { [INFO] [stdout] | ^^^^^^^^^ 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] 52 | ) -> StaticEnv<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling criterion-plot v0.4.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.0 [INFO] [stderr] Compiling regex v1.4.3 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling plotters v0.2.15 [INFO] [stderr] Compiling bstr v0.2.14 [INFO] [stderr] Compiling serde_cbor v0.11.1 [INFO] [stderr] Compiling csv v1.1.5 [INFO] [stderr] Compiling tinytemplate v1.2.0 [INFO] [stderr] Compiling criterion v0.3.3 [INFO] [stderr] Compiling lisprs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stdout] --> src/global_env.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | #[must_use] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/value.rs:474:26 [INFO] [stdout] | [INFO] [stdout] 474 | for r in rest_name { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 474 - for r in rest_name { [INFO] [stdout] 474 + while let Some(r) = rest_name { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 474 - for r in rest_name { [INFO] [stdout] 474 + if let Some(r) = rest_name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/value.rs:490:26 [INFO] [stdout] | [INFO] [stdout] 490 | for r in &lambda_def.rest_name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 490 - for r in &lambda_def.rest_name { [INFO] [stdout] 490 + while let Some(r) = &lambda_def.rest_name { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 490 - for r in &lambda_def.rest_name { [INFO] [stdout] 490 + if let Some(r) = &lambda_def.rest_name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/global_env.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn read_only(&self) -> ReadOnly { [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] 51 | pub fn read_only(&self) -> ReadOnly<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | fn parse_str(s: &str) -> ParseResult { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | fn parse_str(s: &str) -> ParseResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser.rs:186:17 [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_num(s: &str) -> ParseResult { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 186 | fn parse_num(s: &str) -> ParseResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/static_env.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/static_env.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | global: &GlobalEnv, [INFO] [stdout] | ^^^^^^^^^^ the lifetime is elided here [INFO] [stdout] 51 | current_module: Option, [INFO] [stdout] 52 | ) -> StaticEnv { [INFO] [stdout] | ^^^^^^^^^ 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] 52 | ) -> StaticEnv<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.29s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "25f701c76fd9424ab4051be1f0c4ffc69899510b611a2c22811769f036a7fcd4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25f701c76fd9424ab4051be1f0c4ffc69899510b611a2c22811769f036a7fcd4", kill_on_drop: false }` [INFO] [stdout] 25f701c76fd9424ab4051be1f0c4ffc69899510b611a2c22811769f036a7fcd4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+160e7623e8cbbf1feab2b6e2a24733a98c7bde9c" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d303f7c073e7d0e36a3408c9a06144fb1bd40bb9a7c6083ffdf8d790ab6dcbf5 [INFO] running `Command { std: "docker" "start" "-a" "d303f7c073e7d0e36a3408c9a06144fb1bd40bb9a7c6083ffdf8d790ab6dcbf5", kill_on_drop: false }` [INFO] [stderr] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stderr] --> src/global_env.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | #[must_use] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stderr] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/value.rs:474:26 [INFO] [stderr] | [INFO] [stderr] 474 | for r in rest_name { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 474 - for r in rest_name { [INFO] [stderr] 474 + while let Some(r) = rest_name { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 474 - for r in rest_name { [INFO] [stderr] 474 + if let Some(r) = rest_name { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/value.rs:490:26 [INFO] [stderr] | [INFO] [stderr] 490 | for r in &lambda_def.rest_name { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 490 - for r in &lambda_def.rest_name { [INFO] [stderr] 490 + while let Some(r) = &lambda_def.rest_name { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 490 - for r in &lambda_def.rest_name { [INFO] [stderr] 490 + if let Some(r) = &lambda_def.rest_name { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/global_env.rs:51:22 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn read_only(&self) -> ReadOnly { [INFO] [stderr] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided 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] 51 | pub fn read_only(&self) -> ReadOnly<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | fn parse_str(s: &str) -> ParseResult { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided 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] 147 | fn parse_str(s: &str) -> ParseResult<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | fn parse_num(s: &str) -> ParseResult { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided 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] 186 | fn parse_num(s: &str) -> ParseResult<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/static_env.rs:46:24 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv { [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided 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] 46 | pub fn new(global: &GlobalEnv) -> StaticEnv<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/static_env.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | global: &GlobalEnv, [INFO] [stderr] | ^^^^^^^^^^ the lifetime is elided here [INFO] [stderr] 51 | current_module: Option, [INFO] [stderr] 52 | ) -> StaticEnv { [INFO] [stderr] | ^^^^^^^^^ 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] 52 | ) -> StaticEnv<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `lisprs` (lib) generated 8 warnings (run `cargo fix --lib -p lisprs` to apply 6 suggestions) [INFO] [stderr] warning: `lisprs` (lib test) generated 8 warnings (8 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lisprs-f6ce5d380dce57ba) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test eval::test::test_define ... ok [INFO] [stdout] test eval::test::test_fun ... ok [INFO] [stdout] test eval::test::test_lambda_error ... ok [INFO] [stdout] test eval::test::test_lambda_closure ... ok [INFO] [stdout] test eval::test::test_lambda_lookup_global ... ok [INFO] [stdout] test eval::test::test_lambda_varargs ... ok [INFO] [stdout] test eval::test::test_lambda_simple ... ok [INFO] [stdout] test eval::test::test_num ... ok [INFO] [stdout] test eval::test::test_nil ... ok [INFO] [stdout] test eval::test::test_complex_fib ... ok [INFO] [stdout] test eval::test::test_catch_error ... ok [INFO] [stdout] test eval::test::test_module ... ok [INFO] [stdout] test eval::test::test_assert_eq ... ok [INFO] [stdout] test eval::test::test_if ... ok [INFO] [stdout] test eval::test::test_quote ... ok [INFO] [stdout] test eval::test::test_error ... ok [INFO] [stdout] test parser::test::test_bool ... ok [INFO] [stdout] test name::test::test_parse_name ... ok [INFO] [stdout] test parser::test::test_comment ... ok [INFO] [stdout] test eval::test::test_import ... ok [INFO] [stdout] test parser::test::test_cons ... ok [INFO] [stdout] test eval::test::test_sym ... ok [INFO] [stdout] test eval::test::test_predef_constants ... ok [INFO] [stdout] test parser::test::test_num ... ok [INFO] [stdout] test parser::test::test_list ... ok [INFO] [stdout] test parser::test::test_quasiquote ... ok [INFO] [stdout] test parser::test::test_quote ... ok [INFO] [stdout] test parser::test::test_symbol ... ok [INFO] [stdout] test value::test::test_display ... ok [INFO] [stdout] test parser::test::test_string ... ok [INFO] [stdout] test value::test::test_list_macro ... ok [INFO] [stdout] test eval::test::test_predef_arithmetic ... ok [INFO] [stdout] test eval::test::test_predef_cons ... ok [INFO] [stdout] test eval::test::test_predef_list ... ok [INFO] [stdout] test eval::test::test_set_local ... ok [INFO] [stdout] test eval::test::test_predef_eq ... ok [INFO] [stdout] test eval::test::test_set_local_counter ... ok [INFO] [stdout] test eval::test::test_tco ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lisprs-59dcabacccf26d9a) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-78ca98b91c78de94) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test test::gensym ... ok [INFO] [stdout] test test::assert_error ... ok [INFO] [stdout] test test::macros ... ok [INFO] [stdout] test test::module_macro ... ok [INFO] [stdout] test test::macro_expand ... ok [INFO] [stdout] test test::module ... ok [INFO] [stdout] test test::module_hierarchy ... ok [INFO] [stdout] test test::list_ops ... ok [INFO] [stdout] test test::letrec ... ok [INFO] [stdout] test test::arithmetic ... ok [INFO] [stdout] test test::quasiquote ... ok [INFO] [stdout] test test::variable_lookup ... ok [INFO] [stdout] test test::module_import ... ok [INFO] [stdout] test test::pattern_match ... ok [INFO] [stdout] test test::syntax ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests lisprs [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d303f7c073e7d0e36a3408c9a06144fb1bd40bb9a7c6083ffdf8d790ab6dcbf5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d303f7c073e7d0e36a3408c9a06144fb1bd40bb9a7c6083ffdf8d790ab6dcbf5", kill_on_drop: false }` [INFO] [stdout] d303f7c073e7d0e36a3408c9a06144fb1bd40bb9a7c6083ffdf8d790ab6dcbf5