[INFO] cloning repository https://github.com/Mercerenies/gdlisp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mercerenies/gdlisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMercerenies%2Fgdlisp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMercerenies%2Fgdlisp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 04b1395a46abcc398998edc11a813f7a69282a30
[INFO] checking Mercerenies/gdlisp against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMercerenies%2Fgdlisp" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Mercerenies/gdlisp
[INFO] finished tweaking git repo https://github.com/Mercerenies/gdlisp
[INFO] tweaked toml for git repo https://github.com/Mercerenies/gdlisp written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mercerenies/gdlisp on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mercerenies/gdlisp 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ordered-float v2.0.0
[INFO] [stderr]   Downloaded phf_macros v0.8.0
[INFO] [stderr]   Downloaded phf_generator v0.8.0
[INFO] [stderr]   Downloaded bit-vec v0.6.2
[INFO] [stderr]   Downloaded dyn-clone v1.0.4
[INFO] [stderr]   Downloaded docopt v1.1.0
[INFO] [stderr]   Downloaded rust-argon2 v0.7.0
[INFO] [stderr]   Downloaded json v0.11.15
[INFO] [stderr]   Downloaded string_cache v0.8.0
[INFO] [stderr]   Downloaded aho-corasick v0.7.13
[INFO] [stderr]   Downloaded lalrpop-util v0.19.0
[INFO] [stderr]   Downloaded rmp v0.8.10
[INFO] [stderr]   Downloaded rmp-serde v0.14.4
[INFO] [stderr]   Downloaded redox_users v0.3.4
[INFO] [stderr]   Downloaded lalrpop v0.19.0
[INFO] [stderr]   Downloaded regex-syntax v0.6.18
[INFO] [stderr]   Downloaded regex v1.3.9
[INFO] [stderr]   Downloaded phf v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4fec1c9642f889aef8c929ccd370c6779416b74f659c063ea95001ab3db975ac
[INFO] running `Command { std: "docker" "start" "-a" "4fec1c9642f889aef8c929ccd370c6779416b74f659c063ea95001ab3db975ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4fec1c9642f889aef8c929ccd370c6779416b74f659c063ea95001ab3db975ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fec1c9642f889aef8c929ccd370c6779416b74f659c063ea95001ab3db975ac", kill_on_drop: false }`
[INFO] [stdout] 4fec1c9642f889aef8c929ccd370c6779416b74f659c063ea95001ab3db975ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82b7af4f09ff09a91ec341c6de165c0e9f2e0fc77a10a80572f5ff9a3250b8ba
[INFO] running `Command { std: "docker" "start" "-a" "82b7af4f09ff09a91ec341c6de165c0e9f2e0fc77a10a80572f5ff9a3250b8ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling proc-macro2 v1.0.42
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.140
[INFO] [stderr]    Compiling serde v1.0.140
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling siphasher v0.3.3
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling regex-syntax v0.6.18
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.8
[INFO] [stderr]    Compiling block-padding v0.1.5
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling aho-corasick v0.7.13
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling bit-vec v0.6.2
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling opaque-debug v0.2.3
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]    Compiling proc-macro-hack v0.5.18
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]     Checking rand_pcg v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling ascii-canvas v2.0.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]     Checking itoa v1.0.2
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking dyn-clone v1.0.4
[INFO] [stderr]     Checking json v0.11.15
[INFO] [stderr]     Checking rmp v0.8.10
[INFO] [stderr]     Checking ordered-float v2.0.0
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling sha2 v0.8.2
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling regex v1.3.9
[INFO] [stderr]    Compiling lalrpop-util v0.19.0
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]     Checking rmp-serde v0.14.4
[INFO] [stderr]    Compiling docopt v1.1.0
[INFO] [stderr]    Compiling string_cache v0.8.0
[INFO] [stderr]    Compiling lalrpop v0.19.0
[INFO] [stderr]    Compiling gdlisp v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl<'a, NS: Hash> Hash for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout]     |                             ^                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 197 - impl<'a, NS: Hash> Hash for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout] 197 + impl<'a, NS: Hash> Hash for dyn IdLike<NS=NS> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl<'a, NS: PartialEq> PartialEq for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout]     |                                       ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 204 - impl<'a, NS: PartialEq> PartialEq for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout] 204 + impl<'a, NS: PartialEq> PartialEq for dyn IdLike<NS=NS> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl<'a, NS: PartialEq> Eq for (dyn IdLike<NS=NS> + 'a) {}
[INFO] [stdout]     |                                ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 210 - impl<'a, NS: PartialEq> Eq for (dyn IdLike<NS=NS> + 'a) {}
[INFO] [stdout] 210 + impl<'a, NS: PartialEq> Eq for dyn IdLike<NS=NS> + 'a {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:212:22
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> ToOwned for (dyn IdLike<NS=Namespace> + 'a) {
[INFO] [stdout]     |                      ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 212 - impl<'a> ToOwned for (dyn IdLike<NS=Namespace> + 'a) {
[INFO] [stdout] 212 + impl<'a> ToOwned for dyn IdLike<NS=Namespace> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/ir/scope/name_table/mod.rs:48:51
[INFO] [stdout]    |
[INFO] [stdout] 48 |     self.data.get::<dyn IdLike<NS=NS>>((&key) as &(dyn IdLike<NS=NS>)).copied()
[INFO] [stdout]    |                                                   ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     self.data.get::<dyn IdLike<NS=NS>>((&key) as &(dyn IdLike<NS=NS>)).copied()
[INFO] [stdout] 48 +     self.data.get::<dyn IdLike<NS=NS>>((&key) as &dyn IdLike<NS=NS>).copied()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl<'a, NS: Hash> Hash for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout]     |                             ^                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 197 - impl<'a, NS: Hash> Hash for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout] 197 + impl<'a, NS: Hash> Hash for dyn IdLike<NS=NS> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl<'a, NS: PartialEq> PartialEq for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout]     |                                       ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 204 - impl<'a, NS: PartialEq> PartialEq for (dyn IdLike<NS=NS> + 'a) {
[INFO] [stdout] 204 + impl<'a, NS: PartialEq> PartialEq for dyn IdLike<NS=NS> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl<'a, NS: PartialEq> Eq for (dyn IdLike<NS=NS> + 'a) {}
[INFO] [stdout]     |                                ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 210 - impl<'a, NS: PartialEq> Eq for (dyn IdLike<NS=NS> + 'a) {}
[INFO] [stdout] 210 + impl<'a, NS: PartialEq> Eq for dyn IdLike<NS=NS> + 'a {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ir/identifier.rs:212:22
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> ToOwned for (dyn IdLike<NS=Namespace> + 'a) {
[INFO] [stdout]     |                      ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 212 - impl<'a> ToOwned for (dyn IdLike<NS=Namespace> + 'a) {
[INFO] [stdout] 212 + impl<'a> ToOwned for dyn IdLike<NS=Namespace> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/ir/scope/name_table/mod.rs:48:51
[INFO] [stdout]    |
[INFO] [stdout] 48 |     self.data.get::<dyn IdLike<NS=NS>>((&key) as &(dyn IdLike<NS=NS>)).copied()
[INFO] [stdout]    |                                                   ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     self.data.get::<dyn IdLike<NS=NS>>((&key) as &(dyn IdLike<NS=NS>)).copied()
[INFO] [stdout] 48 +     self.data.get::<dyn IdLike<NS=NS>>((&key) as &dyn IdLike<NS=NS>).copied()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:209:28
[INFO] [stdout]     |
[INFO] [stdout] 209 |     match table.get_var(var.borrow()) {
[INFO] [stdout]     |                            ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:210:62
[INFO] [stdout]     |
[INFO] [stdout] 210 |       None => return Err(GDError::new(GDErrorF::NoSuchVar(var.borrow().to_owned()), var_pos)),
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:219:33
[INFO] [stdout]     |
[INFO] [stdout] 219 |         lambda_table.set_var(var.borrow().to_owned(), new_var);
[INFO] [stdout]     |                                 ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:247:28
[INFO] [stdout]     |
[INFO] [stdout] 247 |     match table.get_fn(func.borrow()) {
[INFO] [stdout]     |                            ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:248:64
[INFO] [stdout]     |
[INFO] [stdout] 248 |       None => { return Err(GDError::new(GDErrorF::NoSuchFn(func.borrow().to_owned()), func_pos)) }
[INFO] [stdout]     |                                                                ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:252:33
[INFO] [stdout]     |
[INFO] [stdout] 252 |         lambda_table.set_fn(func.borrow().to_owned(), call, magic.clone());
[INFO] [stdout]     |                                 ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/expr.rs:524:33
[INFO] [stdout]     |
[INFO] [stdout] 524 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<decl::ConstructorDecl> {
[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] 524 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<'_, decl::ConstructorDecl> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/decl.rs:448:33
[INFO] [stdout]     |
[INFO] [stdout] 448 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<ConstructorDecl> {
[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] 448 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<'_, ConstructorDecl> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/decl.rs:531:15
[INFO] [stdout]     |
[INFO] [stdout] 531 |   pub fn name(&self) -> Cow<str> {
[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] 531 |   pub fn name(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/decl.rs:648:22
[INFO] [stdout]     |
[INFO] [stdout] 648 |   pub fn method_name(&self) -> Cow<str> {
[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] 648 |   pub fn method_name(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/arglist/parser.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |     match arg.borrow() {
[INFO] [stdout]     |              ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/ir/classification.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 |       return DECL_HEADS.contains(&head.borrow());
[INFO] [stdout]    |                                       ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:209:28
[INFO] [stdout]     |
[INFO] [stdout] 209 |     match table.get_var(var.borrow()) {
[INFO] [stdout]     |                            ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:210:62
[INFO] [stdout]     |
[INFO] [stdout] 210 |       None => return Err(GDError::new(GDErrorF::NoSuchVar(var.borrow().to_owned()), var_pos)),
[INFO] [stdout]     |                                                              ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:219:33
[INFO] [stdout]     |
[INFO] [stdout] 219 |         lambda_table.set_var(var.borrow().to_owned(), new_var);
[INFO] [stdout]     |                                 ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:247:28
[INFO] [stdout]     |
[INFO] [stdout] 247 |     match table.get_fn(func.borrow()) {
[INFO] [stdout]     |                            ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:248:64
[INFO] [stdout]     |
[INFO] [stdout] 248 |       None => { return Err(GDError::new(GDErrorF::NoSuchFn(func.borrow().to_owned()), func_pos)) }
[INFO] [stdout]     |                                                                ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile/special_form/lambda.rs:252:33
[INFO] [stdout]     |
[INFO] [stdout] 252 |         lambda_table.set_fn(func.borrow().to_owned(), call, magic.clone());
[INFO] [stdout]     |                                 ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/expr.rs:524:33
[INFO] [stdout]     |
[INFO] [stdout] 524 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<decl::ConstructorDecl> {
[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] 524 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<'_, decl::ConstructorDecl> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/decl.rs:448:33
[INFO] [stdout]     |
[INFO] [stdout] 448 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<ConstructorDecl> {
[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] 448 |   pub fn constructor_or_default(&self, default_pos: SourceOffset) -> Cow<'_, ConstructorDecl> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/decl.rs:531:15
[INFO] [stdout]     |
[INFO] [stdout] 531 |   pub fn name(&self) -> Cow<str> {
[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] 531 |   pub fn name(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ir/decl.rs:648:22
[INFO] [stdout]     |
[INFO] [stdout] 648 |   pub fn method_name(&self) -> Cow<str> {
[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] 648 |   pub fn method_name(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/arglist/parser.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |     match arg.borrow() {
[INFO] [stdout]     |              ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/ir/classification.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 |       return DECL_HEADS.contains(&head.borrow());
[INFO] [stdout]    |                                       ^^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Borrow`, so calling `borrow` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.48s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.0
[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" "82b7af4f09ff09a91ec341c6de165c0e9f2e0fc77a10a80572f5ff9a3250b8ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82b7af4f09ff09a91ec341c6de165c0e9f2e0fc77a10a80572f5ff9a3250b8ba", kill_on_drop: false }`
[INFO] [stdout] 82b7af4f09ff09a91ec341c6de165c0e9f2e0fc77a10a80572f5ff9a3250b8ba
