[INFO] fetching crate goscript-types 0.1.0...
[INFO] testing goscript-types-0.1.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate goscript-types 0.1.0 into /workspace/builds/worker-1-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate goscript-types 0.1.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 855e026c4c6225cd3232b9667afb12969f1339d3538df6572badab5606d2195b
[INFO] running `Command { std: "docker" "start" "-a" "855e026c4c6225cd3232b9667afb12969f1339d3538df6572badab5606d2195b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "855e026c4c6225cd3232b9667afb12969f1339d3538df6572badab5606d2195b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "855e026c4c6225cd3232b9667afb12969f1339d3538df6572badab5606d2195b", kill_on_drop: false }`
[INFO] [stdout] 855e026c4c6225cd3232b9667afb12969f1339d3538df6572badab5606d2195b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8fccfdc7329a37f0bd370ed9efe8be69bec3a508cbe472378dc6f14a8946ee14
[INFO] running `Command { std: "docker" "start" "-a" "8fccfdc7329a37f0bd370ed9efe8be69bec3a508cbe472378dc6f14a8946ee14", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling slotmap v0.4.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[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.85s
[INFO] running `Command { std: "docker" "inspect" "8fccfdc7329a37f0bd370ed9efe8be69bec3a508cbe472378dc6f14a8946ee14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fccfdc7329a37f0bd370ed9efe8be69bec3a508cbe472378dc6f14a8946ee14", kill_on_drop: false }`
[INFO] [stdout] 8fccfdc7329a37f0bd370ed9efe8be69bec3a508cbe472378dc6f14a8946ee14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3525eec99ce20f00404878d18ccff16dddca3e360e96595a114bcc71f8989928
[INFO] running `Command { std: "docker" "start" "-a" "3525eec99ce20f00404878d18ccff16dddca3e360e96595a114bcc71f8989928", kill_on_drop: false }`
[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] [stderr]    Compiling goscript-types v0.1.0 (/opt/rustwide/workdir)
[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.43s
[INFO] running `Command { std: "docker" "inspect" "3525eec99ce20f00404878d18ccff16dddca3e360e96595a114bcc71f8989928", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3525eec99ce20f00404878d18ccff16dddca3e360e96595a114bcc71f8989928", kill_on_drop: false }`
[INFO] [stdout] 3525eec99ce20f00404878d18ccff16dddca3e360e96595a114bcc71f8989928
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2f3fc4911ea9f85cbd8135e0fdc0a1cb46a63afa874f844eddda1478ea72d48f
[INFO] running `Command { std: "docker" "start" "-a" "2f3fc4911ea9f85cbd8135e0fdc0a1cb46a63afa874f844eddda1478ea72d48f", 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] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/goscript_types-dc2b636926d5cc5c)
[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] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests goscript_types
[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" "2f3fc4911ea9f85cbd8135e0fdc0a1cb46a63afa874f844eddda1478ea72d48f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f3fc4911ea9f85cbd8135e0fdc0a1cb46a63afa874f844eddda1478ea72d48f", kill_on_drop: false }`
[INFO] [stdout] 2f3fc4911ea9f85cbd8135e0fdc0a1cb46a63afa874f844eddda1478ea72d48f
