[INFO] fetching crate goscript-vm 0.1.0...
[INFO] testing goscript-vm-0.1.0 against beta-2026-03-05 for beta-1.95-1
[INFO] extracting crate goscript-vm 0.1.0 into /workspace/builds/worker-6-tc2/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-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate goscript-vm 0.1.0 on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "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" "+beta-2026-03-05" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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.10.0)
[INFO] [stderr]       Adding slotmap v0.4.3 (available: v1.1.1)
[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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c63966860385a69bf55d7cdcde0b016d91392654e6d4ad75e03d3432acefca59
[INFO] running `Command { std: "docker" "start" "-a" "c63966860385a69bf55d7cdcde0b016d91392654e6d4ad75e03d3432acefca59", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c63966860385a69bf55d7cdcde0b016d91392654e6d4ad75e03d3432acefca59", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c63966860385a69bf55d7cdcde0b016d91392654e6d4ad75e03d3432acefca59", kill_on_drop: false }`
[INFO] [stdout] c63966860385a69bf55d7cdcde0b016d91392654e6d4ad75e03d3432acefca59
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2dbe791fb167d303407ef4f35a264c4a4d4b2924c20fa6d7af605058b846d123
[INFO] running `Command { std: "docker" "start" "-a" "2dbe791fb167d303407ef4f35a264c4a4d4b2924c20fa6d7af605058b846d123", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slotmap v0.4.3
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling time-test v0.2.3
[INFO] [stderr]    Compiling goscript-parser v0.1.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling async-executor v1.14.0
[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)]` (part of `#[warn(future_incompatible)]`) 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)]` (part of `#[warn(unused)]`) 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]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 321 -         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stdout] 321 +         let uv: u32 = unsafe { i32::cast_unsigned(imm) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 330 -         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stdout] 330 +         let u0: u8 = unsafe { i8::cast_unsigned(imm0 as i8) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 332 -         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stdout] 332 +         let u1: u32 = unsafe { i32::cast_unsigned(imm1) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 342 -         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stdout] 342 +         let val8: u8 = unsafe { i8::cast_unsigned(index) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 378 -         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stdout] 378 +         let ival: i8 = unsafe { u8::cast_signed(v) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 384 -         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout] 384 +         unsafe { u32::cast_signed((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 390 -         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stdout] 390 +         let i0: i8 = unsafe { u8::cast_signed((all >> 24) as u8) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 394 -         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stdout] 394 +         let i1 = unsafe { u32::cast_signed(all) };
[INFO] [stdout]     |
[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.41s
[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" "2dbe791fb167d303407ef4f35a264c4a4d4b2924c20fa6d7af605058b846d123", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2dbe791fb167d303407ef4f35a264c4a4d4b2924c20fa6d7af605058b846d123", kill_on_drop: false }`
[INFO] [stdout] 2dbe791fb167d303407ef4f35a264c4a4d4b2924c20fa6d7af605058b846d123
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 848bb7c7486f5371e0b9ddc98c96b93c796ee0ee23f328b903e25cf3cc506df0
[INFO] running `Command { std: "docker" "start" "-a" "848bb7c7486f5371e0b9ddc98c96b93c796ee0ee23f328b903e25cf3cc506df0", 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)]` (part of `#[warn(future_incompatible)]`) 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)]` (part of `#[warn(unused)]`) 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]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 321 -         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stdout] 321 +         let uv: u32 = unsafe { i32::cast_unsigned(imm) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 330 -         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stdout] 330 +         let u0: u8 = unsafe { i8::cast_unsigned(imm0 as i8) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 332 -         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stdout] 332 +         let u1: u32 = unsafe { i32::cast_unsigned(imm1) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 342 -         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stdout] 342 +         let val8: u8 = unsafe { i8::cast_unsigned(index) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 378 -         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stdout] 378 +         let ival: i8 = unsafe { u8::cast_signed(v) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 384 -         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout] 384 +         unsafe { u32::cast_signed((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 390 -         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stdout] 390 +         let i0: i8 = unsafe { u8::cast_signed((all >> 24) as u8) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 394 -         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stdout] 394 +         let i1 = unsafe { u32::cast_signed(all) };
[INFO] [stdout]     |
[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] [stderr]    Compiling goscript-vm v0.1.0 (/opt/rustwide/workdir)
[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)]` (part of `#[warn(future_incompatible)]`) 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)]` (part of `#[warn(unused)]`) 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]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 321 -         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stdout] 321 +         let uv: u32 = unsafe { i32::cast_unsigned(imm) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 330 -         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stdout] 330 +         let u0: u8 = unsafe { i8::cast_unsigned(imm0 as i8) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 332 -         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stdout] 332 +         let u1: u32 = unsafe { i32::cast_unsigned(imm1) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 342 -         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stdout] 342 +         let val8: u8 = unsafe { i8::cast_unsigned(index) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 378 -         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stdout] 378 +         let ival: i8 = unsafe { u8::cast_signed(v) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 384 -         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout] 384 +         unsafe { u32::cast_signed((self.val & 0xffff_ffff) as u32) }
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 390 -         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stdout] 390 +         let i0: i8 = unsafe { u8::cast_signed((all >> 24) as u8) };
[INFO] [stdout]     |
[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
[INFO] [stdout]     |
[INFO] [stdout] 394 -         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stdout] 394 +         let i1 = unsafe { u32::cast_signed(all) };
[INFO] [stdout]     |
[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.70s
[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" "848bb7c7486f5371e0b9ddc98c96b93c796ee0ee23f328b903e25cf3cc506df0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "848bb7c7486f5371e0b9ddc98c96b93c796ee0ee23f328b903e25cf3cc506df0", kill_on_drop: false }`
[INFO] [stdout] 848bb7c7486f5371e0b9ddc98c96b93c796ee0ee23f328b903e25cf3cc506df0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 34757411c43ecf5e63912c7099a82eb27b8711e48cd6338e900338b821cee889
[INFO] running `Command { std: "docker" "start" "-a" "34757411c43ecf5e63912c7099a82eb27b8711e48cd6338e900338b821cee889", 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)]` (part of `#[warn(future_incompatible)]`) 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)]` (part of `#[warn(unused)]`) 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]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] help: replace this with
[INFO] [stderr]     |
[INFO] [stderr] 321 -         let uv: u32 = unsafe { std::mem::transmute(imm) };
[INFO] [stderr] 321 +         let uv: u32 = unsafe { i32::cast_unsigned(imm) };
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 330 -         let u0: u8 = unsafe { std::mem::transmute(imm0 as i8) };
[INFO] [stderr] 330 +         let u0: u8 = unsafe { i8::cast_unsigned(imm0 as i8) };
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 332 -         let u1: u32 = unsafe { std::mem::transmute(imm1) };
[INFO] [stderr] 332 +         let u1: u32 = unsafe { i32::cast_unsigned(imm1) };
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 342 -         let val8: u8 = unsafe { std::mem::transmute(index) };
[INFO] [stderr] 342 +         let val8: u8 = unsafe { i8::cast_unsigned(index) };
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 378 -         let ival: i8 = unsafe { std::mem::transmute(v) };
[INFO] [stderr] 378 +         let ival: i8 = unsafe { u8::cast_signed(v) };
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 384 -         unsafe { std::mem::transmute((self.val & 0xffff_ffff) as u32) }
[INFO] [stderr] 384 +         unsafe { u32::cast_signed((self.val & 0xffff_ffff) as u32) }
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 390 -         let i0: i8 = unsafe { std::mem::transmute((all >> 24) as u8) };
[INFO] [stderr] 390 +         let i0: i8 = unsafe { u8::cast_signed((all >> 24) as u8) };
[INFO] [stderr]     |
[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
[INFO] [stderr]     |
[INFO] [stderr] 394 -         let i1 = unsafe { std::mem::transmute(all) };
[INFO] [stderr] 394 +         let i1 = unsafe { u32::cast_signed(all) };
[INFO] [stderr]     |
[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 22 suggestions)
[INFO] [stderr] warning: `goscript-vm` (lib test) generated 29 warnings (29 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[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-36efd96f9e0ccbe9)
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] thread 'instruction::test::test_instruction' (25) panicked at src/instruction.rs:372:18:
[INFO] [stdout] running 5 tests
[INFO] [stderr] trying to construct an enum from an invalid value 0x5a
[INFO] [stdout] test instruction::test::test_opcode ... ok
[INFO] [stderr] stack backtrace:
[INFO] [stdout] [src/instruction.rs:469:9] 1 << 8 = 256
[INFO] [stderr]    0:     0x57e8e38dec1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x57e8e38dec1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x57e8e38dec1a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x57e8e38dec1a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x57e8e38f28aa - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x57e8e38f28aa - core[10b6fa85044e1869]::fmt::write
[INFO] [stderr]    6:     0x57e8e38e3ff2 - std[b80a194dd3c418bb]::io::default_write_fmt::<std[b80a194dd3c418bb]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x57e8e38e3ff2 - <std[b80a194dd3c418bb]::sys::stdio::unix::Stderr as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stderr]    8:     0x57e8e38bde2f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x57e8e38bde2f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x57e8e38d7151 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x57e8e386fd4c - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stderr]   12:     0x57e8e386fd4c - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x57e8e38d7342 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stderr]   14:     0x57e8e38d7342 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x57e8e38bdee8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stderr]   16:     0x57e8e38b5889 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x57e8e38bebfd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x57e8e38f2f3d - core[10b6fa85044e1869]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x57e8e38f2f3d - core[10b6fa85044e1869]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/intrinsics/mod.rs:2447:9
[INFO] [stderr]   20:     0x57e8e38f30be - core[10b6fa85044e1869]::panicking::panic_invalid_enum_construction
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:318:5
[INFO] [stderr]   21:     0x57e8e3853a2d - goscript_vm::instruction::Instruction::t2::h256c7bcc29f027ac
[INFO] [stderr]                                at /opt/rustwide/workdir/src/instruction.rs:372:18
[INFO] [stderr]   22:     0x57e8e38544ab - goscript_vm::instruction::test::test_instruction::h9428ec592e750ff0
[INFO] [stderr]                                at /opt/rustwide/workdir/src/instruction.rs:484:22
[INFO] [stderr]   23:     0x57e8e3854657 - goscript_vm::instruction::test::test_instruction::{{closure}}::h4c7d535a7232b68c
[INFO] [stderr]                                at /opt/rustwide/workdir/src/instruction.rs:455:26
[INFO] [stderr]   24:     0x57e8e3855d66 - core::ops::function::FnOnce::call_once::hda49c58eb70b4568
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   25:     0x57e8e3863e2b - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   26:     0x57e8e3863e2b - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stderr]   27:     0x57e8e387081b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stderr]   28:     0x57e8e387081b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   29:     0x57e8e387081b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stderr]   30:     0x57e8e387081b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stderr]   31:     0x57e8e387081b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stderr]   32:     0x57e8e387081b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stderr]   33:     0x57e8e387081b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stderr]   34:     0x57e8e386bf34 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stderr]   35:     0x57e8e386bf34 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   36:     0x57e8e3873422 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stderr]   37:     0x57e8e3873422 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   38:     0x57e8e3873422 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stderr]   39:     0x57e8e3873422 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stderr]   40:     0x57e8e3873422 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stderr]   41:     0x57e8e3873422 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stderr]   42:     0x57e8e3873422 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   43:     0x57e8e38de52f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stderr]   44:     0x57e8e38de52f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stderr]   45:     0x709efdcd2aa4 - <unknown>
[INFO] [stderr]   46:     0x709efdd5fa64 - 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-36efd96f9e0ccbe9` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "34757411c43ecf5e63912c7099a82eb27b8711e48cd6338e900338b821cee889", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34757411c43ecf5e63912c7099a82eb27b8711e48cd6338e900338b821cee889", kill_on_drop: false }`
[INFO] [stdout] 34757411c43ecf5e63912c7099a82eb27b8711e48cd6338e900338b821cee889
