[INFO] fetching crate goscript-types 0.1.0...
[INFO] testing goscript-types-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate goscript-types 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate goscript-types 0.1.0
[INFO] finished tweaking crates.io crate goscript-types 0.1.0
[INFO] tweaked toml for crates.io crate goscript-types 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate goscript-types 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] [stderr]       Adding num-bigint v0.2.6 (available: v0.4.6)
[INFO] [stderr]       Adding num-rational v0.2.4 (available: v0.4.2)
[INFO] [stderr]       Adding ordered-float v2.10.1 (available: v5.1.0)
[INFO] [stderr]       Adding slotmap v0.4.3 (available: v1.0.7)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded goscript-parser v0.1.0
[INFO] [stderr]   Downloaded slotmap v0.4.3
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 03a089c356316d9db257962c4bb01628d719f9b55d8c99fc44635fa71fff2f90
[INFO] running `Command { std: "docker" "start" "-a" "03a089c356316d9db257962c4bb01628d719f9b55d8c99fc44635fa71fff2f90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "03a089c356316d9db257962c4bb01628d719f9b55d8c99fc44635fa71fff2f90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03a089c356316d9db257962c4bb01628d719f9b55d8c99fc44635fa71fff2f90", kill_on_drop: false }`
[INFO] [stdout] 03a089c356316d9db257962c4bb01628d719f9b55d8c99fc44635fa71fff2f90
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fd8c8c09f10c7f339f448a0d38452e4dd0e5215b5701762390ca1b38642af86
[INFO] running `Command { std: "docker" "start" "-a" "7fd8c8c09f10c7f339f448a0d38452e4dd0e5215b5701762390ca1b38642af86", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling slotmap v0.4.3
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling goscript-parser v0.1.0
[INFO] [stderr]    Compiling goscript-types v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `check::Checker`
[INFO] [stdout]   --> src/check/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use check::Checker;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IfaceInfo`
[INFO] [stdout]   --> src/check/mod.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use interface::{IfaceInfo, MethodInfo};
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/constant.rs:223:19
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn to_int(&self) -> Cow<Value> {
[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] 223 |     pub fn to_int(&self) -> Cow<'_, Value> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/obj.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |     pub fn id(&self, objs: &TCObjects) -> 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] 341 |     pub fn id(&self, objs: &TCObjects) -> Cow<'_, str> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn default_fmt_qualifier(p: &Package) -> 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] 54 | fn default_fmt_qualifier(p: &Package) -> Cow<'_, str> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/typ.rs:748:24
[INFO] [stdout]     |
[INFO] [stdout] 748 |     pub fn all_methods(&self) -> Ref<Option<Vec<ObjKey>>> {
[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] 748 |     pub fn all_methods(&self) -> Ref<'_, Option<Vec<ObjKey>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/typ.rs:752:28
[INFO] [stdout]     |
[INFO] [stdout] 752 |     pub fn all_methods_mut(&self) -> RefMut<Option<Vec<ObjKey>>> {
[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] 752 |     pub fn all_methods_mut(&self) -> RefMut<'_, Option<Vec<ObjKey>>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/check/check.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer {
[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] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:621:61
[INFO] [stdout]     |
[INFO] [stdout] 621 |         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 621 -         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stdout] 621 +         if info.is_none() || info.as_ref().unwrap().as_ref().is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stdout]    --> src/check/interface.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 + #[derive(Clone)]
[INFO] [stdout] 132 | pub struct IfaceInfo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:643:55
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stdout]     |                                                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 643 -         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stdout] 643 +         let info_ref = info.as_ref().unwrap().as_ref();
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stdout]    --> src/check/interface.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 + #[derive(Clone)]
[INFO] [stdout] 132 | pub struct IfaceInfo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout] 702 |         drop(info_ref);
[INFO] [stdout]     |         ^^^^^--------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&IfaceInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 702 -         drop(info_ref);
[INFO] [stdout] 702 +         let _ = info_ref;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.59s
[INFO] running `Command { std: "docker" "inspect" "7fd8c8c09f10c7f339f448a0d38452e4dd0e5215b5701762390ca1b38642af86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fd8c8c09f10c7f339f448a0d38452e4dd0e5215b5701762390ca1b38642af86", kill_on_drop: false }`
[INFO] [stdout] 7fd8c8c09f10c7f339f448a0d38452e4dd0e5215b5701762390ca1b38642af86
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc819c305ac7139bc68bf2b42782a0156ad5d897af515b84ed8a9c9d617cae36
[INFO] running `Command { std: "docker" "start" "-a" "bc819c305ac7139bc68bf2b42782a0156ad5d897af515b84ed8a9c9d617cae36", kill_on_drop: false }`
[INFO] [stderr]    Compiling goscript-types v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `check::Checker`
[INFO] [stdout]   --> src/check/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use check::Checker;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IfaceInfo`
[INFO] [stdout]   --> src/check/mod.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use interface::{IfaceInfo, MethodInfo};
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/constant.rs:223:19
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn to_int(&self) -> Cow<Value> {
[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] 223 |     pub fn to_int(&self) -> Cow<'_, Value> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/obj.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |     pub fn id(&self, objs: &TCObjects) -> 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] 341 |     pub fn id(&self, objs: &TCObjects) -> Cow<'_, str> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn default_fmt_qualifier(p: &Package) -> 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] 54 | fn default_fmt_qualifier(p: &Package) -> Cow<'_, str> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/typ.rs:748:24
[INFO] [stdout]     |
[INFO] [stdout] 748 |     pub fn all_methods(&self) -> Ref<Option<Vec<ObjKey>>> {
[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] 748 |     pub fn all_methods(&self) -> Ref<'_, Option<Vec<ObjKey>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/typ.rs:752:28
[INFO] [stdout]     |
[INFO] [stdout] 752 |     pub fn all_methods_mut(&self) -> RefMut<Option<Vec<ObjKey>>> {
[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] 752 |     pub fn all_methods_mut(&self) -> RefMut<'_, Option<Vec<ObjKey>>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/check/check.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer {
[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] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:621:61
[INFO] [stdout]     |
[INFO] [stdout] 621 |         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 621 -         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stdout] 621 +         if info.is_none() || info.as_ref().unwrap().as_ref().is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stdout]    --> src/check/interface.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 + #[derive(Clone)]
[INFO] [stdout] 132 | pub struct IfaceInfo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:643:55
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stdout]     |                                                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 643 -         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stdout] 643 +         let info_ref = info.as_ref().unwrap().as_ref();
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stdout]    --> src/check/interface.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 + #[derive(Clone)]
[INFO] [stdout] 132 | pub struct IfaceInfo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout] 702 |         drop(info_ref);
[INFO] [stdout]     |         ^^^^^--------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&IfaceInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 702 -         drop(info_ref);
[INFO] [stdout] 702 +         let _ = info_ref;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `check::Checker`
[INFO] [stdout]   --> src/check/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use check::Checker;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IfaceInfo`
[INFO] [stdout]   --> src/check/mod.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use interface::{IfaceInfo, MethodInfo};
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/constant.rs:223:19
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn to_int(&self) -> Cow<Value> {
[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] 223 |     pub fn to_int(&self) -> Cow<'_, Value> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/obj.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |     pub fn id(&self, objs: &TCObjects) -> 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] 341 |     pub fn id(&self, objs: &TCObjects) -> Cow<'_, str> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn default_fmt_qualifier(p: &Package) -> 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] 54 | fn default_fmt_qualifier(p: &Package) -> Cow<'_, str> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/typ.rs:748:24
[INFO] [stdout]     |
[INFO] [stdout] 748 |     pub fn all_methods(&self) -> Ref<Option<Vec<ObjKey>>> {
[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] 748 |     pub fn all_methods(&self) -> Ref<'_, Option<Vec<ObjKey>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/typ.rs:752:28
[INFO] [stdout]     |
[INFO] [stdout] 752 |     pub fn all_methods_mut(&self) -> RefMut<Option<Vec<ObjKey>>> {
[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] 752 |     pub fn all_methods_mut(&self) -> RefMut<'_, Option<Vec<ObjKey>>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/check/check.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer {
[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] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:621:61
[INFO] [stdout]     |
[INFO] [stdout] 621 |         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 621 -         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stdout] 621 +         if info.is_none() || info.as_ref().unwrap().as_ref().is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stdout]    --> src/check/interface.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 + #[derive(Clone)]
[INFO] [stdout] 132 | pub struct IfaceInfo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:643:55
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stdout]     |                                                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 643 -         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stdout] 643 +         let info_ref = info.as_ref().unwrap().as_ref();
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stdout]    --> src/check/interface.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 + #[derive(Clone)]
[INFO] [stdout] 132 | pub struct IfaceInfo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/check/typexpr.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout] 702 |         drop(info_ref);
[INFO] [stdout]     |         ^^^^^--------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&IfaceInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 702 -         drop(info_ref);
[INFO] [stdout] 702 +         let _ = info_ref;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.22s
[INFO] running `Command { std: "docker" "inspect" "bc819c305ac7139bc68bf2b42782a0156ad5d897af515b84ed8a9c9d617cae36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc819c305ac7139bc68bf2b42782a0156ad5d897af515b84ed8a9c9d617cae36", kill_on_drop: false }`
[INFO] [stdout] bc819c305ac7139bc68bf2b42782a0156ad5d897af515b84ed8a9c9d617cae36
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] baccf81f9dd3af8cf4cb0058a60625bf5f5db529e44a227a4482c07489700803
[INFO] running `Command { std: "docker" "start" "-a" "baccf81f9dd3af8cf4cb0058a60625bf5f5db529e44a227a4482c07489700803", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `check::Checker`
[INFO] [stderr]   --> src/check/mod.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub use check::Checker;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IfaceInfo`
[INFO] [stderr]   --> src/check/mod.rs:21:21
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub use interface::{IfaceInfo, MethodInfo};
[INFO] [stderr]    |                     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/constant.rs:223:19
[INFO] [stderr]     |
[INFO] [stderr] 223 |     pub fn to_int(&self) -> Cow<Value> {
[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] 223 |     pub fn to_int(&self) -> Cow<'_, Value> {
[INFO] [stderr]     |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/obj.rs:341:15
[INFO] [stderr]     |
[INFO] [stderr] 341 |     pub fn id(&self, objs: &TCObjects) -> Cow<str> {
[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] 341 |     pub fn id(&self, objs: &TCObjects) -> Cow<'_, str> {
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/objects.rs:54:29
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn default_fmt_qualifier(p: &Package) -> Cow<str> {
[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] 54 | fn default_fmt_qualifier(p: &Package) -> Cow<'_, str> {
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/typ.rs:748:24
[INFO] [stderr]     |
[INFO] [stderr] 748 |     pub fn all_methods(&self) -> Ref<Option<Vec<ObjKey>>> {
[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] 748 |     pub fn all_methods(&self) -> Ref<'_, Option<Vec<ObjKey>>> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/typ.rs:752:28
[INFO] [stderr]     |
[INFO] [stderr] 752 |     pub fn all_methods_mut(&self) -> RefMut<Option<Vec<ObjKey>>> {
[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] 752 |     pub fn all_methods_mut(&self) -> RefMut<'_, Option<Vec<ObjKey>>> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/check/check.rs:450:25
[INFO] [stderr]     |
[INFO] [stderr] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer {
[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] 450 |     pub fn new_importer(&mut self, pos: Pos) -> Importer<'_> {
[INFO] [stderr]     |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/check/typexpr.rs:621:61
[INFO] [stderr]     |
[INFO] [stderr] 621 |         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stderr]     |                                                             ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 621 -         if info.is_none() || info.as_ref().unwrap().as_ref().borrow().is_empty() {
[INFO] [stderr] 621 +         if info.is_none() || info.as_ref().unwrap().as_ref().is_empty() {
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stderr]    --> src/check/interface.rs:131:1
[INFO] [stderr]     |
[INFO] [stderr] 131 + #[derive(Clone)]
[INFO] [stderr] 132 | pub struct IfaceInfo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/check/typexpr.rs:643:55
[INFO] [stderr]     |
[INFO] [stderr] 643 |         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stderr]     |                                                       ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `IfaceInfo` does not implement `Borrow`, so calling `borrow` on `&IfaceInfo` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 643 -         let info_ref = info.as_ref().unwrap().as_ref().borrow();
[INFO] [stderr] 643 +         let info_ref = info.as_ref().unwrap().as_ref();
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `IfaceInfo`, implement `Clone` for it
[INFO] [stderr]    --> src/check/interface.rs:131:1
[INFO] [stderr]     |
[INFO] [stderr] 131 + #[derive(Clone)]
[INFO] [stderr] 132 | pub struct IfaceInfo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/check/typexpr.rs:702:9
[INFO] [stderr]     |
[INFO] [stderr] 702 |         drop(info_ref);
[INFO] [stderr]     |         ^^^^^--------^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              argument has type `&IfaceInfo`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 702 -         drop(info_ref);
[INFO] [stderr] 702 +         let _ = info_ref;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `goscript-types` (lib) generated 11 warnings (run `cargo fix --lib -p goscript-types` to apply 10 suggestions)
[INFO] [stderr] warning: `goscript-types` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/goscript_types-dc2b636926d5cc5c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test constant::test::test_str_unquote ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test.rs (/opt/rustwide/target/debug/deps/test-7f21498754bd7279)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_temp ... ok
[INFO] [stdout] test test_auto ... ok
[INFO] [stderr]    Doc-tests goscript_types
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.83s
[INFO] [stdout] 
[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" "baccf81f9dd3af8cf4cb0058a60625bf5f5db529e44a227a4482c07489700803", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "baccf81f9dd3af8cf4cb0058a60625bf5f5db529e44a227a4482c07489700803", kill_on_drop: false }`
[INFO] [stdout] baccf81f9dd3af8cf4cb0058a60625bf5f5db529e44a227a4482c07489700803
