[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] checking todesking/lisp.rs against 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6 for pr-160581
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodesking%2Flisp.rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/todesking/lisp.rs on toolchain 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "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" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_syscall v0.2.4
[INFO] [stderr]   Downloaded serde v1.0.120
[INFO] [stderr]   Downloaded wasi v0.10.1+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded log v0.4.13
[INFO] [stderr]   Downloaded rustyline v7.1.0
[INFO] [stderr]   Downloaded serde_derive v1.0.120
[INFO] [stderr]   Downloaded syn v1.0.59
[INFO] [stderr]   Downloaded bumpalo v3.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a
[INFO] running `Command { std: "docker" "start" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a", 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" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a", 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" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.82
[INFO] [stderr]    Compiling serde v1.0.120
[INFO] [stderr]    Compiling log v0.4.13
[INFO] [stderr]    Compiling crossbeam-utils v0.8.1
[INFO] [stderr]    Compiling syn v1.0.59
[INFO] [stderr]     Checking memoffset v0.6.1
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling serde_derive v1.0.120
[INFO] [stderr]     Checking utf8parse v0.2.0
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking plotters v0.2.15
[INFO] [stderr]     Checking regex v1.4.3
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking nix v0.19.1
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking rayon-core v1.9.0
[INFO] [stderr]     Checking rayon v1.5.0
[INFO] [stderr]     Checking bstr v0.2.14
[INFO] [stderr]     Checking serde_json v1.0.61
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking csv v1.1.5
[INFO] [stderr]     Checking rustyline v7.1.0
[INFO] [stderr]     Checking tinytemplate v1.2.0
[INFO] [stderr]     Checking lisprs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/global_env.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[must_use]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[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]    = 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<AbsName>,
[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]     Checking criterion v0.3.3
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/global_env.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[must_use]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[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]    = 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<AbsName>,
[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 16.90s
[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 9`
[INFO] running `Command { std: "docker" "inspect" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a", kill_on_drop: false }`
[INFO] [stdout] a77b89da7c5bcefe4e633f9c7e159eb19bd35901018f64477a7e5d2a2da4bf6a
