[INFO] fetching crate goscript-vm 0.1.0...
[INFO] testing goscript-vm-0.1.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate goscript-vm 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate goscript-vm 0.1.0
[INFO] finished tweaking crates.io crate goscript-vm 0.1.0
[INFO] tweaked toml for crates.io crate goscript-vm 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate goscript-vm 0.1.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 43 packages to latest compatible versions
[INFO] [stderr]       Adding async-channel v1.9.0 (available: v2.5.0)
[INFO] [stderr]       Adding futures-lite v1.13.0 (available: v2.6.1)
[INFO] [stderr]       Adding ordered-float v2.10.1 (available: v5.1.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding slotmap v0.4.3 (available: v1.0.7)
[INFO] [stderr]       Adding time-test v0.2.3 (available: v0.3.0)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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] [stderr]   Downloaded time-test v0.2.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 042d1016a403a22ed1cef226f5df5c63753b6d22e3ccb4caee5e6811c1c434ae
[INFO] running `Command { std: "docker" "start" "-a" "042d1016a403a22ed1cef226f5df5c63753b6d22e3ccb4caee5e6811c1c434ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "042d1016a403a22ed1cef226f5df5c63753b6d22e3ccb4caee5e6811c1c434ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "042d1016a403a22ed1cef226f5df5c63753b6d22e3ccb4caee5e6811c1c434ae", kill_on_drop: false }`
[INFO] [stdout] 042d1016a403a22ed1cef226f5df5c63753b6d22e3ccb4caee5e6811c1c434ae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 32ff26540fe6a93264e845f551ecdf6a4bb38ff196fc2ccd5feeb0c1f336b51b
[INFO] running `Command { std: "docker" "start" "-a" "32ff26540fe6a93264e845f551ecdf6a4bb38ff196fc2ccd5feeb0c1f336b51b", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling slotmap v0.4.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling goscript-parser v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling time-test v0.2.3
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling async-executor v1.13.3
[INFO] [stderr]    Compiling goscript-vm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/value.rs:169:10
[INFO] [stdout]      |
[INFO] [stdout]  169 |         };
[INFO] [stdout]      |          ^
[INFO] [stdout] ...
[INFO] [stdout] 1367 |         unsafe { shift_int!(t, self, b, checked_shl) }
[INFO] [stdout]      |                  ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stdout]      = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/value.rs:169:10
[INFO] [stdout]      |
[INFO] [stdout]  169 |         };
[INFO] [stdout]      |          ^
[INFO] [stdout] ...
[INFO] [stdout] 1372 |         unsafe { shift_int!(t, self, b, checked_shr) }
[INFO] [stdout]      |                  ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stdout]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/vm_util.rs:160:10
[INFO] [stdout]     |
[INFO] [stdout] 160 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vm.rs:690:47
[INFO] [stdout]     |
[INFO] [stdout] 690 |                         let (unwrapped, ok) = unwrap_recv_val!(chan, val, objs.metas, gcv);
[INFO] [stdout]     |                                               -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/vm_util.rs:160:10
[INFO] [stdout]      |
[INFO] [stdout]  160 |           };
[INFO] [stdout]      |            ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/vm.rs:1005:67
[INFO] [stdout]      |
[INFO] [stdout] 1005 |   ...                   let (unwrapped, ok) = unwrap_recv_val!(
[INFO] [stdout]      |  _____________________________________________-
[INFO] [stdout] 1006 | | ...                       c.as_channel(),
[INFO] [stdout] 1007 | | ...                       val,
[INFO] [stdout] 1008 | | ...                       objs.metas,
[INFO] [stdout] 1009 | | ...                       gcv
[INFO] [stdout] 1010 | | ...                   );
[INFO] [stdout]      | |_______________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]     --> src/objects.rs:1318:5
[INFO] [stdout]      |
[INFO] [stdout] 1317 | pub struct PackageVal {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] 1318 |     name: String,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PackageVal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stdout]     |                                -------------------^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:332:32
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stdout]     |                                -------------------^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:342:33
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stdout]     |                                 -------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:378:33
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stdout]     |                                 -------------------^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `u8::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:384:18
[INFO] [stdout]     |
[INFO] [stdout] 384 |         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout]     |                  -------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: replace this with: `u32::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:390:31
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `u8::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:394:27
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stdout]     |                           -------------------^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: replace this with: `u32::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> StringIter {
[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] 132 |     pub fn iter(&self) -> StringIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn borrow_data_mut(&self) -> RefMut<GosHashMap> {
[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] 268 |     pub fn borrow_data_mut(&self) -> RefMut<'_, GosHashMap> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:273:24
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn borrow_data(&self) -> Ref<GosHashMap> {
[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] 273 |     pub fn borrow_data(&self) -> Ref<'_, GosHashMap> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:372:24
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:558:19
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub fn borrow(&self) -> SliceRef {
[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] 558 |     pub fn borrow(&self) -> SliceRef<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:563:28
[INFO] [stdout]     |
[INFO] [stdout] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:571:24
[INFO] [stdout]     |
[INFO] [stdout] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |     pub fn new(s: &SliceObj) -> SliceRef {
[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] 688 |     pub fn new(s: &SliceObj) -> SliceRef<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:696:17
[INFO] [stdout]     |
[INFO] [stdout] 696 |     pub fn iter(&self) -> SliceIter {
[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] 696 |     pub fn iter(&self) -> SliceIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1351:20
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<GosValue> {
[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] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<'_, GosValue> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1373:19
[INFO] [stdout]      |
[INFO] [stdout] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<GosValue> {
[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] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<'_, GosValue> {
[INFO] [stdout]      |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1378:23
[INFO] [stdout]      |
[INFO] [stdout] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<GosValue> {
[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] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<'_, GosValue> {
[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/vm.rs:911:25
[INFO] [stdout]     |
[INFO] [stdout] 911 |                         drop(frame);
[INFO] [stdout]     |                         ^^^^^-----^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              argument has type `&mut CallFrame`
[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] 911 -                         drop(frame);
[INFO] [stdout] 911 +                         let _ = frame;
[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/vm.rs:1111:37
[INFO] [stdout]      |
[INFO] [stdout] 1111 | ...                   drop(frame);
[INFO] [stdout]      |                       ^^^^^-----^
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            argument has type `&mut CallFrame`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 1111 -                                     drop(frame);
[INFO] [stdout] 1111 +                                     let _ = frame;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn borrow_data(&self) -> Ref<Vec<GcWeak>> {
[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] 30 |     fn borrow_data(&self) -> Ref<'_, Vec<GcWeak>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.77s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: goscript-vm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "32ff26540fe6a93264e845f551ecdf6a4bb38ff196fc2ccd5feeb0c1f336b51b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32ff26540fe6a93264e845f551ecdf6a4bb38ff196fc2ccd5feeb0c1f336b51b", kill_on_drop: false }`
[INFO] [stdout] 32ff26540fe6a93264e845f551ecdf6a4bb38ff196fc2ccd5feeb0c1f336b51b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7abd128a02be98b0d8213729bc110d5736c84d684f4544c1f6116e1bd60a914c
[INFO] running `Command { std: "docker" "start" "-a" "7abd128a02be98b0d8213729bc110d5736c84d684f4544c1f6116e1bd60a914c", kill_on_drop: false }`
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/value.rs:169:10
[INFO] [stdout]      |
[INFO] [stdout]  169 |         };
[INFO] [stdout]      |          ^
[INFO] [stdout] ...
[INFO] [stdout] 1367 |         unsafe { shift_int!(t, self, b, checked_shl) }
[INFO] [stdout]      |                  ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stdout]      = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/value.rs:169:10
[INFO] [stdout]      |
[INFO] [stdout]  169 |         };
[INFO] [stdout]      |          ^
[INFO] [stdout] ...
[INFO] [stdout] 1372 |         unsafe { shift_int!(t, self, b, checked_shr) }
[INFO] [stdout]      |                  ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stdout]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/vm_util.rs:160:10
[INFO] [stdout]     |
[INFO] [stdout] 160 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vm.rs:690:47
[INFO] [stdout]     |
[INFO] [stdout] 690 |                         let (unwrapped, ok) = unwrap_recv_val!(chan, val, objs.metas, gcv);
[INFO] [stdout]     |                                               -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/vm_util.rs:160:10
[INFO] [stdout]      |
[INFO] [stdout]  160 |           };
[INFO] [stdout]      |            ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/vm.rs:1005:67
[INFO] [stdout]      |
[INFO] [stdout] 1005 |   ...                   let (unwrapped, ok) = unwrap_recv_val!(
[INFO] [stdout]      |  _____________________________________________-
[INFO] [stdout] 1006 | | ...                       c.as_channel(),
[INFO] [stdout] 1007 | | ...                       val,
[INFO] [stdout] 1008 | | ...                       objs.metas,
[INFO] [stdout] 1009 | | ...                       gcv
[INFO] [stdout] 1010 | | ...                   );
[INFO] [stdout]      | |_______________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]     --> src/objects.rs:1318:5
[INFO] [stdout]      |
[INFO] [stdout] 1317 | pub struct PackageVal {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] 1318 |     name: String,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PackageVal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stdout]     |                                -------------------^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:332:32
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stdout]     |                                -------------------^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:342:33
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stdout]     |                                 -------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:378:33
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stdout]     |                                 -------------------^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `u8::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:384:18
[INFO] [stdout]     |
[INFO] [stdout] 384 |         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout]     |                  -------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: replace this with: `u32::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:390:31
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `u8::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:394:27
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stdout]     |                           -------------------^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: replace this with: `u32::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> StringIter {
[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] 132 |     pub fn iter(&self) -> StringIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn borrow_data_mut(&self) -> RefMut<GosHashMap> {
[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] 268 |     pub fn borrow_data_mut(&self) -> RefMut<'_, GosHashMap> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:273:24
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn borrow_data(&self) -> Ref<GosHashMap> {
[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] 273 |     pub fn borrow_data(&self) -> Ref<'_, GosHashMap> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling goscript-vm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:372:24
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:558:19
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub fn borrow(&self) -> SliceRef {
[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] 558 |     pub fn borrow(&self) -> SliceRef<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:563:28
[INFO] [stdout]     |
[INFO] [stdout] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:571:24
[INFO] [stdout]     |
[INFO] [stdout] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |     pub fn new(s: &SliceObj) -> SliceRef {
[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] 688 |     pub fn new(s: &SliceObj) -> SliceRef<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:696:17
[INFO] [stdout]     |
[INFO] [stdout] 696 |     pub fn iter(&self) -> SliceIter {
[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] 696 |     pub fn iter(&self) -> SliceIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1351:20
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<GosValue> {
[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] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<'_, GosValue> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1373:19
[INFO] [stdout]      |
[INFO] [stdout] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<GosValue> {
[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] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<'_, GosValue> {
[INFO] [stdout]      |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1378:23
[INFO] [stdout]      |
[INFO] [stdout] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<GosValue> {
[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] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<'_, GosValue> {
[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/vm.rs:911:25
[INFO] [stdout]     |
[INFO] [stdout] 911 |                         drop(frame);
[INFO] [stdout]     |                         ^^^^^-----^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              argument has type `&mut CallFrame`
[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] 911 -                         drop(frame);
[INFO] [stdout] 911 +                         let _ = frame;
[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/vm.rs:1111:37
[INFO] [stdout]      |
[INFO] [stdout] 1111 | ...                   drop(frame);
[INFO] [stdout]      |                       ^^^^^-----^
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            argument has type `&mut CallFrame`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 1111 -                                     drop(frame);
[INFO] [stdout] 1111 +                                     let _ = frame;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn borrow_data(&self) -> Ref<Vec<GcWeak>> {
[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] 30 |     fn borrow_data(&self) -> Ref<'_, Vec<GcWeak>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/value.rs:169:10
[INFO] [stdout]      |
[INFO] [stdout]  169 |         };
[INFO] [stdout]      |          ^
[INFO] [stdout] ...
[INFO] [stdout] 1367 |         unsafe { shift_int!(t, self, b, checked_shl) }
[INFO] [stdout]      |                  ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stdout]      = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/value.rs:169:10
[INFO] [stdout]      |
[INFO] [stdout]  169 |         };
[INFO] [stdout]      |          ^
[INFO] [stdout] ...
[INFO] [stdout] 1372 |         unsafe { shift_int!(t, self, b, checked_shr) }
[INFO] [stdout]      |                  ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stdout]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/vm_util.rs:160:10
[INFO] [stdout]     |
[INFO] [stdout] 160 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vm.rs:690:47
[INFO] [stdout]     |
[INFO] [stdout] 690 |                         let (unwrapped, ok) = unwrap_recv_val!(chan, val, objs.metas, gcv);
[INFO] [stdout]     |                                               -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/vm_util.rs:160:10
[INFO] [stdout]      |
[INFO] [stdout]  160 |           };
[INFO] [stdout]      |            ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/vm.rs:1005:67
[INFO] [stdout]      |
[INFO] [stdout] 1005 |   ...                   let (unwrapped, ok) = unwrap_recv_val!(
[INFO] [stdout]      |  _____________________________________________-
[INFO] [stdout] 1006 | | ...                       c.as_channel(),
[INFO] [stdout] 1007 | | ...                       val,
[INFO] [stdout] 1008 | | ...                       objs.metas,
[INFO] [stdout] 1009 | | ...                       gcv
[INFO] [stdout] 1010 | | ...                   );
[INFO] [stdout]      | |_______________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]     --> src/objects.rs:1318:5
[INFO] [stdout]      |
[INFO] [stdout] 1317 | pub struct PackageVal {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] 1318 |     name: String,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PackageVal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stdout]     |                                -------------------^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:332:32
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stdout]     |                                -------------------^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:342:33
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stdout]     |                                 -------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:378:33
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stdout]     |                                 -------------------^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `u8::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:384:18
[INFO] [stdout]     |
[INFO] [stdout] 384 |         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout]     |                  -------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: replace this with: `u32::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:390:31
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `u8::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/instruction.rs:394:27
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stdout]     |                           -------------------^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: replace this with: `u32::cast_signed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> StringIter {
[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] 132 |     pub fn iter(&self) -> StringIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn borrow_data_mut(&self) -> RefMut<GosHashMap> {
[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] 268 |     pub fn borrow_data_mut(&self) -> RefMut<'_, GosHashMap> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:273:24
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn borrow_data(&self) -> Ref<GosHashMap> {
[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] 273 |     pub fn borrow_data(&self) -> Ref<'_, GosHashMap> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:372:24
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:558:19
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub fn borrow(&self) -> SliceRef {
[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] 558 |     pub fn borrow(&self) -> SliceRef<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:563:28
[INFO] [stdout]     |
[INFO] [stdout] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:571:24
[INFO] [stdout]     |
[INFO] [stdout] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |     pub fn new(s: &SliceObj) -> SliceRef {
[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] 688 |     pub fn new(s: &SliceObj) -> SliceRef<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects.rs:696:17
[INFO] [stdout]     |
[INFO] [stdout] 696 |     pub fn iter(&self) -> SliceIter {
[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] 696 |     pub fn iter(&self) -> SliceIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1351:20
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<GosValue> {
[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] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<'_, GosValue> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1373:19
[INFO] [stdout]      |
[INFO] [stdout] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<GosValue> {
[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] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<'_, GosValue> {
[INFO] [stdout]      |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/objects.rs:1378:23
[INFO] [stdout]      |
[INFO] [stdout] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<GosValue> {
[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] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<'_, GosValue> {
[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/vm.rs:911:25
[INFO] [stdout]     |
[INFO] [stdout] 911 |                         drop(frame);
[INFO] [stdout]     |                         ^^^^^-----^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              argument has type `&mut CallFrame`
[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] 911 -                         drop(frame);
[INFO] [stdout] 911 +                         let _ = frame;
[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/vm.rs:1111:37
[INFO] [stdout]      |
[INFO] [stdout] 1111 | ...                   drop(frame);
[INFO] [stdout]      |                       ^^^^^-----^
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            argument has type `&mut CallFrame`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 1111 -                                     drop(frame);
[INFO] [stdout] 1111 +                                     let _ = frame;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn borrow_data(&self) -> Ref<Vec<GcWeak>> {
[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] 30 |     fn borrow_data(&self) -> Ref<'_, Vec<GcWeak>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.84s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: goscript-vm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "7abd128a02be98b0d8213729bc110d5736c84d684f4544c1f6116e1bd60a914c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7abd128a02be98b0d8213729bc110d5736c84d684f4544c1f6116e1bd60a914c", kill_on_drop: false }`
[INFO] [stdout] 7abd128a02be98b0d8213729bc110d5736c84d684f4544c1f6116e1bd60a914c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b0a34d3957fdac46e41b1f8694fd8e52d0f05b5f51567186cd32879d7a8c2ca2
[INFO] running `Command { std: "docker" "start" "-a" "b0a34d3957fdac46e41b1f8694fd8e52d0f05b5f51567186cd32879d7a8c2ca2", kill_on_drop: false }`
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]     --> src/value.rs:169:10
[INFO] [stderr]      |
[INFO] [stderr]  169 |         };
[INFO] [stderr]      |          ^
[INFO] [stderr] ...
[INFO] [stderr] 1367 |         unsafe { shift_int!(t, self, b, checked_shl) }
[INFO] [stderr]      |                  ----------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stderr]      = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stderr]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]     --> src/value.rs:169:10
[INFO] [stderr]      |
[INFO] [stderr]  169 |         };
[INFO] [stderr]      |          ^
[INFO] [stderr] ...
[INFO] [stderr] 1372 |         unsafe { shift_int!(t, self, b, checked_shr) }
[INFO] [stderr]      |                  ----------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]      = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]      = note: to ignore the value produced by the macro, add a semicolon after the invocation of `shift_int`
[INFO] [stderr]      = note: this warning originates in the macro `shift_int` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/vm_util.rs:160:10
[INFO] [stderr]     |
[INFO] [stderr] 160 |         };
[INFO] [stderr]     |          ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/vm.rs:690:47
[INFO] [stderr]     |
[INFO] [stderr] 690 |                         let (unwrapped, ok) = unwrap_recv_val!(chan, val, objs.metas, gcv);
[INFO] [stderr]     |                                               -------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]     --> src/vm_util.rs:160:10
[INFO] [stderr]      |
[INFO] [stderr]  160 |           };
[INFO] [stderr]      |            ^
[INFO] [stderr]      |
[INFO] [stderr]     ::: src/vm.rs:1005:67
[INFO] [stderr]      |
[INFO] [stderr] 1005 |   ...                   let (unwrapped, ok) = unwrap_recv_val!(
[INFO] [stderr]      |  _____________________________________________-
[INFO] [stderr] 1006 | | ...                       c.as_channel(),
[INFO] [stderr] 1007 | | ...                       val,
[INFO] [stderr] 1008 | | ...                       objs.metas,
[INFO] [stderr] 1009 | | ...                       gcv
[INFO] [stderr] 1010 | | ...                   );
[INFO] [stderr]      | |_______________________- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]      = note: this warning originates in the macro `unwrap_recv_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]     --> src/objects.rs:1318:5
[INFO] [stderr]      |
[INFO] [stderr] 1317 | pub struct PackageVal {
[INFO] [stderr]      |            ---------- field in this struct
[INFO] [stderr] 1318 |     name: String,
[INFO] [stderr]      |     ^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PackageVal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]      = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:321:32
[INFO] [stderr]     |
[INFO] [stderr] 321 |         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stderr]     |                                -------------------^^^^^
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:330:31
[INFO] [stderr]     |
[INFO] [stderr] 330 |         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stderr]     |                               -------------------^^^^^^^^^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: replace this with: `i8::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:332:32
[INFO] [stderr]     |
[INFO] [stderr] 332 |         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stderr]     |                                -------------------^^^^^^
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                help: replace this with: `i32::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:342:33
[INFO] [stderr]     |
[INFO] [stderr] 342 |         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stderr]     |                                 -------------------^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 help: replace this with: `i8::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:378:33
[INFO] [stderr]     |
[INFO] [stderr] 378 |         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stderr]     |                                 -------------------^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 help: replace this with: `u8::cast_signed`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:384:18
[INFO] [stderr]     |
[INFO] [stderr] 384 |         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stderr]     |                  -------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: replace this with: `u32::cast_signed`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:390:31
[INFO] [stderr]     |
[INFO] [stderr] 390 |         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stderr]     |                               -------------------^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: replace this with: `u8::cast_signed`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/instruction.rs:394:27
[INFO] [stderr]     |
[INFO] [stderr] 394 |         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stderr]     |                           -------------------^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: replace this with: `u32::cast_signed`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |     pub fn iter(&self) -> StringIter {
[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] 132 |     pub fn iter(&self) -> StringIter<'_> {
[INFO] [stderr]     |                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:268:28
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn borrow_data_mut(&self) -> RefMut<GosHashMap> {
[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] 268 |     pub fn borrow_data_mut(&self) -> RefMut<'_, GosHashMap> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:273:24
[INFO] [stderr]     |
[INFO] [stderr] 273 |     pub fn borrow_data(&self) -> Ref<GosHashMap> {
[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] 273 |     pub fn borrow_data(&self) -> Ref<'_, GosHashMap> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:367:28
[INFO] [stderr]     |
[INFO] [stderr] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 367 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:372:24
[INFO] [stderr]     |
[INFO] [stderr] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 372 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stderr]     |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:558:19
[INFO] [stderr]     |
[INFO] [stderr] 558 |     pub fn borrow(&self) -> SliceRef {
[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] 558 |     pub fn borrow(&self) -> SliceRef<'_> {
[INFO] [stderr]     |                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:563:28
[INFO] [stderr]     |
[INFO] [stderr] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<GosVec> {
[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] 563 |     pub fn borrow_data_mut(&self) -> std::cell::RefMut<'_, GosVec> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:571:24
[INFO] [stderr]     |
[INFO] [stderr] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<GosVec> {
[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] 571 |     pub fn borrow_data(&self) -> std::cell::Ref<'_, GosVec> {
[INFO] [stderr]     |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:688:19
[INFO] [stderr]     |
[INFO] [stderr] 688 |     pub fn new(s: &SliceObj) -> SliceRef {
[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] 688 |     pub fn new(s: &SliceObj) -> SliceRef<'_> {
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/objects.rs:696:17
[INFO] [stderr]     |
[INFO] [stderr] 696 |     pub fn iter(&self) -> SliceIter {
[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] 696 |     pub fn iter(&self) -> SliceIter<'_> {
[INFO] [stderr]     |                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/objects.rs:1351:20
[INFO] [stderr]      |
[INFO] [stderr] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<GosValue> {
[INFO] [stderr]      |                    ^^^^^ the lifetime is elided here   ---------------- the same lifetime is hidden 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] 1351 |     pub fn var_mut(&self, fn_member_index: OpIndex) -> RefMut<'_, GosValue> {
[INFO] [stderr]      |                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/objects.rs:1373:19
[INFO] [stderr]      |
[INFO] [stderr] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<GosValue> {
[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] 1373 |     pub fn member(&self, i: OpIndex) -> Ref<'_, GosValue> {
[INFO] [stderr]      |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/objects.rs:1378:23
[INFO] [stderr]      |
[INFO] [stderr] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<GosValue> {
[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] 1378 |     pub fn member_mut(&self, i: OpIndex) -> RefMut<'_, GosValue> {
[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/vm.rs:911:25
[INFO] [stderr]     |
[INFO] [stderr] 911 |                         drop(frame);
[INFO] [stderr]     |                         ^^^^^-----^
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              argument has type `&mut CallFrame`
[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] 911 -                         drop(frame);
[INFO] [stderr] 911 +                         let _ = frame;
[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/vm.rs:1111:37
[INFO] [stderr]      |
[INFO] [stderr] 1111 | ...                   drop(frame);
[INFO] [stderr]      |                       ^^^^^-----^
[INFO] [stderr]      |                            |
[INFO] [stderr]      |                            argument has type `&mut CallFrame`
[INFO] [stderr]      |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]      |
[INFO] [stderr] 1111 -                                     drop(frame);
[INFO] [stderr] 1111 +                                     let _ = frame;
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/gc.rs:30:20
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn borrow_data(&self) -> Ref<Vec<GcWeak>> {
[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] 30 |     fn borrow_data(&self) -> Ref<'_, Vec<GcWeak>> {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: `goscript-vm` (lib) generated 29 warnings (run `cargo fix --lib -p goscript-vm` to apply 8 suggestions)
[INFO] [stderr] warning: `goscript-vm` (lib test) generated 29 warnings (29 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: goscript-vm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/goscript_vm-2ff092a917e77414)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] [src/instruction.rs:469:9] 1 << 8 = 256
[INFO] [stderr] 
[INFO] [stderr] thread 'instruction::test::test_instruction' panicked at src/instruction.rs:372:18:
[INFO] [stderr] trying to construct an enum from an invalid value 0x5a
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x65228aa3c732 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x65228aa3c732 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x65228aa3c732 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9
[INFO] [stderr]    3:     0x65228aa3c732 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hdcfcb6d4c8489523
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26
[INFO] [stderr]    4:     0x65228aa619f3 - core::fmt::rt::Argument::fmt::h2c56b3114963061a
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76
[INFO] [stderr]    5:     0x65228aa619f3 - core::fmt::write::h8a494366950f23bb
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25
[INFO] [stderr]    6:     0x65228aa397e3 - std::io::default_write_fmt::ha27fbccbc65eb6fa
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x65228aa397e3 - std::io::Write::write_fmt::h6556609fca33d0b1
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13
[INFO] [stderr]    8:     0x65228aa3c582 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9
[INFO] [stderr]    9:     0x65228aa3dca9 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27
[INFO] [stderr]   10:     0x65228aa3da8b - std::panicking::default_hook::h2c66fc99e962531d
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:327:9
[INFO] [stderr]   11:     0x65228aa018e4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb6bd65493727d71a
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   12:     0x65228aa018e4 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x65228aa3e67e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h318e4efb8c1a5689
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   14:     0x65228aa3e67e - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13
[INFO] [stderr]   15:     0x65228aa3e44a - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:706:13
[INFO] [stderr]   16:     0x65228aa3cc29 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18
[INFO] [stderr]   17:     0x65228aa3e0dd - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5
[INFO] [stderr]   18:     0x65228aa6045d - core::panicking::panic_nounwind_fmt::runtime::hde3dd742c40069fa
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:117:22
[INFO] [stderr]   19:     0x65228aa6045d - core::panicking::panic_nounwind_fmt::h6c46f1098922b4b6
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/intrinsics/mod.rs:2367:9
[INFO] [stderr]   20:     0x65228aa60696 - core::panicking::panic_invalid_enum_construction::h56532bed96caae94
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:327:5
[INFO] [stderr]   21:     0x65228a9bb20d - goscript_vm::instruction::Instruction::t2::h91b01f55bf1d8e7a
[INFO] [stderr]                                at /opt/rustwide/workdir/src/instruction.rs:372:18
[INFO] [stderr]   22:     0x65228a9c4e73 - goscript_vm::instruction::test::test_instruction::he3e3d5f2e5f7c5b9
[INFO] [stderr]                                at /opt/rustwide/workdir/src/instruction.rs:484:22
[INFO] [stderr]   23:     0x65228a9c4627 - goscript_vm::instruction::test::test_instruction::{{closure}}::h56f9e364b82a4f4c
[INFO] [stderr]                                at /opt/rustwide/workdir/src/instruction.rs:455:26
[INFO] [stderr]   24:     0x65228a9b6ce6 - core::ops::function::FnOnce::call_once::hd7ceb62d5b1b9c61
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   25:     0x65228aa0714b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   26:     0x65228aa0714b - test::__rust_begin_short_backtrace::ha52ab26e77157f03
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18
[INFO] [stderr]   27:     0x65228aa06285 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74
[INFO] [stderr]   28:     0x65228aa06285 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   29:     0x65228aa06285 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
[INFO] [stderr]   30:     0x65228aa06285 - std::panicking::catch_unwind::h6deb5fe1e91873c9
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
[INFO] [stderr]   31:     0x65228aa06285 - std::panic::catch_unwind::hea0829b6b565654b
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
[INFO] [stderr]   32:     0x65228aa06285 - test::run_test_in_process::hdc44dfecea3db21b
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27
[INFO] [stderr]   33:     0x65228aa06285 - test::run_test::{{closure}}::h0364ba59bf23f652
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43
[INFO] [stderr]   34:     0x65228a9c9e84 - test::run_test::{{closure}}::h32730b304eec05da
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41
[INFO] [stderr]   35:     0x65228a9c9e84 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18
[INFO] [stderr]   36:     0x65228a9cd85a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17
[INFO] [stderr]   37:     0x65228a9cd85a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   38:     0x65228a9cd85a - std::panicking::catch_unwind::do_call::h163fe12cca9901c2
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
[INFO] [stderr]   39:     0x65228a9cd85a - std::panicking::catch_unwind::he81557d0e17cc1bc
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
[INFO] [stderr]   40:     0x65228a9cd85a - std::panic::catch_unwind::hc2b8e79c20593955
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
[INFO] [stderr]   41:     0x65228a9cd85a - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30
[INFO] [stderr]   42:     0x65228a9cd85a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
[INFO] [stderr]   43:     0x65228aa415ff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5924238c754de3b8
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9
[INFO] [stderr]   44:     0x65228aa415ff - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8
[INFO] [stderr]                                at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17
[INFO] [stderr]   45:     0x7156a3e8aaa4 - <unknown>
[INFO] [stderr]   46:     0x7156a3f17a34 - clone
[INFO] [stderr]   47:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/goscript_vm-2ff092a917e77414` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "b0a34d3957fdac46e41b1f8694fd8e52d0f05b5f51567186cd32879d7a8c2ca2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0a34d3957fdac46e41b1f8694fd8e52d0f05b5f51567186cd32879d7a8c2ca2", kill_on_drop: false }`
[INFO] [stdout] b0a34d3957fdac46e41b1f8694fd8e52d0f05b5f51567186cd32879d7a8c2ca2
