[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#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMercerenies%2Fgdlisp" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-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-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mercerenies/gdlisp on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tempfile v3.1.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.42
[INFO] [stderr]   Downloaded diff v0.1.12
[INFO] [stderr]   Downloaded ascii-canvas v2.0.0
[INFO] [stderr]   Downloaded ordered-float v2.0.0
[INFO] [stderr]   Downloaded string_cache v0.8.0
[INFO] [stderr]   Downloaded bit-vec v0.6.2
[INFO] [stderr]   Downloaded ena v0.14.0
[INFO] [stderr]   Downloaded json v0.11.15
[INFO] [stderr]   Downloaded unicode-ident v1.0.2
[INFO] [stderr]   Downloaded serde_derive v1.0.140
[INFO] [stderr]   Downloaded serde v1.0.140
[INFO] [stderr]   Downloaded docopt v1.1.0
[INFO] [stderr]   Downloaded term v0.5.2
[INFO] [stderr]   Downloaded quote v1.0.20
[INFO] [stderr]   Downloaded syn v1.0.98
[INFO] [stderr]   Downloaded rmp v0.8.10
[INFO] [stderr]   Downloaded lalrpop-util v0.19.0
[INFO] [stderr]   Downloaded rmp-serde v0.14.4
[INFO] [stderr]   Downloaded serde_json v1.0.82
[INFO] [stderr]   Downloaded lalrpop v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 020b8227e71f550f0666886a95c24311ce8962fba5cb80ef2cc4486ee3ae32ee
[INFO] running `Command { std: "docker" "start" "-a" "020b8227e71f550f0666886a95c24311ce8962fba5cb80ef2cc4486ee3ae32ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "020b8227e71f550f0666886a95c24311ce8962fba5cb80ef2cc4486ee3ae32ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "020b8227e71f550f0666886a95c24311ce8962fba5cb80ef2cc4486ee3ae32ee", kill_on_drop: false }`
[INFO] [stdout] 020b8227e71f550f0666886a95c24311ce8962fba5cb80ef2cc4486ee3ae32ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 544156bfd6af077a27e8332fad8806c10b34ae999817a5ffef60bfc557b92f8d
[INFO] running `Command { std: "docker" "start" "-a" "544156bfd6af077a27e8332fad8806c10b34ae999817a5ffef60bfc557b92f8d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling proc-macro2 v1.0.42
[INFO] [stderr]    Compiling unicode-ident v1.0.2
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling memchr v2.3.3
[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 log v0.4.11
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling regex-syntax v0.6.18
[INFO] [stderr]    Compiling block-padding v0.1.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.8
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling opaque-debug v0.2.3
[INFO] [stderr]    Compiling bit-vec v0.6.2
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling aho-corasick v0.7.13
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling proc-macro-hack v0.5.18
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling ascii-canvas v2.0.0
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]     Checking json v0.11.15
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling sha2 v0.8.2
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]     Checking rmp v0.8.10
[INFO] [stderr]     Checking ordered-float v2.0.0
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]    Compiling regex v1.3.9
[INFO] [stderr]    Compiling phf_generator v0.8.0
[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 string_cache v0.8.0
[INFO] [stderr]    Compiling docopt v1.1.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 33.72s
[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 5`
[INFO] running `Command { std: "docker" "inspect" "544156bfd6af077a27e8332fad8806c10b34ae999817a5ffef60bfc557b92f8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "544156bfd6af077a27e8332fad8806c10b34ae999817a5ffef60bfc557b92f8d", kill_on_drop: false }`
[INFO] [stdout] 544156bfd6af077a27e8332fad8806c10b34ae999817a5ffef60bfc557b92f8d
