[INFO] fetching crate spore-vm 0.0.3...
[INFO] checking spore-vm-0.0.3 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate spore-vm 0.0.3 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate spore-vm 0.0.3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate spore-vm 0.0.3
[INFO] tweaked toml for crates.io crate spore-vm 0.0.3 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate spore-vm 0.0.3 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate spore-vm 0.0.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804
[INFO] running `Command { std: "docker" "start" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling rustix v0.38.36
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking clap_builder v4.5.17
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking once_cell v1.20.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking bumpalo v3.16.0
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking clap v4.5.17
[INFO] [stderr]     Checking fd-lock v4.0.2
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking rustyline v14.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling ctor v0.2.8
[INFO] [stderr]     Checking spore-vm v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn val_by_name(&self, name: &str) -> Option<Val> {
[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] 159 |     pub fn val_by_name(&self, name: &str) -> Option<Val<'_>> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn eval_str(&mut self, source: &str) -> VmResult<ProtectedVal> {
[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] 174 |     pub fn eval_str(&mut self, source: &str) -> VmResult<ProtectedVal<'_>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 202 |     ) -> VmResult<ProtectedVal> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ 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] 202 |     ) -> VmResult<ProtectedVal<'_>> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 237 |     ) -> VmResult<ProtectedVal> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ 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] 237 |     ) -> VmResult<ProtectedVal<'_>> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/builtins/mod.rs:122:51
[INFO] [stdout]     |
[INFO] [stdout] 122 |         (NativeFunction(a), NativeFunction(b)) => a == b,
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 122 -         (NativeFunction(a), NativeFunction(b)) => a == b,
[INFO] [stdout] 122 +         (NativeFunction(a), NativeFunction(b)) => std::ptr::fn_addr_eq(a, b),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn try_list(self, vm: &Vm) -> Result<&[Val], Val<'a>> {
[INFO] [stdout]     |                               ^^^            ^^^^^^
[INFO] [stdout]     |                               |              | |
[INFO] [stdout]     |                               |              | the same lifetime is hidden here
[INFO] [stdout]     |                               |              the same lifetime is elided here
[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] 117 |     pub fn try_list(self, vm: &Vm) -> Result<&[Val<'_>], Val<'a>> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:174:42
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn try_mutable_box_ref(self, vm: &Vm) -> Result<Val, Val<'a>> {
[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] 174 |     pub fn try_mutable_box_ref(self, vm: &Vm) -> Result<Val<'_>, Val<'a>> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:209:38
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn try_custom<T: CustomType>(&self, vm: &'a Vm) -> Result<CustomValRef<T>, CustomValError> {
[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] 209 |     pub fn try_custom<T: CustomType>(&self, vm: &'a Vm) -> Result<CustomValRef<'_, T>, CustomValError> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 223 |         vm: &'a Vm,
[INFO] [stdout] 224 |     ) -> Result<CustomValMut<T>, CustomValError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ 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] 224 |     ) -> Result<CustomValMut<'_, T>, CustomValError> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/val/bytecode.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, PartialEq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 87 |         func: NativeFunction,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/custom.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_mut<T>(&self) -> Result<CustomValMut<T>, CustomValError>
[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] 75 |     pub fn get_mut<T>(&self) -> Result<CustomValMut<'_, T>, CustomValError>
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/val/formatter.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(vm: &'a Vm, v: UnsafeVal) -> ValFormatter {
[INFO] [stdout]    |                     --                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(vm: &'a Vm, v: UnsafeVal) -> ValFormatter<'a> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/val/formatter.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new_quoted(vm: &'a Vm, v: UnsafeVal) -> ValFormatter {
[INFO] [stdout]    |                            --                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new_quoted(vm: &'a Vm, v: UnsafeVal) -> ValFormatter<'a> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/native_function.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub(crate) fn new(vm: &mut Vm) -> NativeFunctionContext {
[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] 76 |     pub(crate) fn new(vm: &mut Vm) -> NativeFunctionContext<'_> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn split(&mut self) -> (&mut Vm, &Val) {
[INFO] [stdout]    |                  ^^^^^^^^^      ^^^^^^^  ^^^^
[INFO] [stdout]    |                  |              |        ||
[INFO] [stdout]    |                  |              |        |the same lifetime is hidden here
[INFO] [stdout]    |                  |              |        the same lifetime is elided here
[INFO] [stdout]    |                  |              the same lifetime is elided here
[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] 35 |     pub fn split(&mut self) -> (&mut Vm, &Val<'_>) {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn try_str(&'a self) -> Result<&'a str, Val> {
[INFO] [stdout]    |                     --                  --      ^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                   |
[INFO] [stdout]    |                     |                   the same lifetime is named here
[INFO] [stdout]    |                     the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn try_str(&'a self) -> Result<&'a str, Val<'a>> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:83:38
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn try_custom<T: CustomType>(&self) -> Result<CustomValRef<T>, CustomValError> {
[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] 83 |     pub fn try_custom<T: CustomType>(&self) -> Result<CustomValRef<'_, T>, CustomValError> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:89:42
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn try_custom_mut<T: CustomType>(&self) -> Result<CustomValMut<T>, CustomValError> {
[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] 89 |     pub fn try_custom_mut<T: CustomType>(&self) -> Result<CustomValMut<'_, T>, CustomValError> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn get_mutable_box_ref(&self) -> Result<Val, Val<'a>> {
[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] 95 |     pub fn get_mutable_box_ref(&self) -> Result<Val<'_>, Val<'a>> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/val/unsafe_val.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Copy, Clone, Debug, Default, PartialEq)]
[INFO] [stdout]    |                                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 51 |     NativeFunction(NativeFunction),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serde_json v1.0.128
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] error: useless conversion to the same type: `unsafe_val::UnsafeVal`
[INFO] [stdout]    --> src/compiler/mod.rs:528:21
[INFO] [stdout]     |
[INFO] [stdout] 528 |                     UnsafeVal::NativeFunction(crate::builtins::numbers::add).into()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 528 -                     UnsafeVal::NativeFunction(crate::builtins::numbers::add).into()
[INFO] [stdout] 528 +                     UnsafeVal::NativeFunction(crate::builtins::numbers::add)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 528 -                     UnsafeVal::NativeFunction(crate::builtins::numbers::add).into()
[INFO] [stdout] 528 +                     <unsafe_val::UnsafeVal as Into<_>>::into(UnsafeVal::NativeFunction(crate::builtins::numbers::add))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `unsafe_val::UnsafeVal`
[INFO] [stdout]    --> src/compiler/mod.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 | /                         UnsafeVal::ByteCodeFunction(
[INFO] [stdout] 825 | |                             vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout] 826 | |                                 name: "foo".into(),
[INFO] [stdout] 827 | |                                 arg_count: 2,
[INFO] [stdout] ...   |
[INFO] [stdout] 846 | |                         .into()
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 845 -                         )
[INFO] [stdout] 846 -                         .into()
[INFO] [stdout] 845 +                         )
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 824 ~                         <unsafe_val::UnsafeVal as Into<_>>::into(UnsafeVal::ByteCodeFunction(
[INFO] [stdout] 825 |                             vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout] ...
[INFO] [stdout] 844 |                             })
[INFO] [stdout] 845 ~                         ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `unsafe_val::UnsafeVal`
[INFO] [stdout]     --> src/compiler/mod.rs:1103:21
[INFO] [stdout]      |
[INFO] [stdout] 1103 | /                     UnsafeVal::ByteCodeFunction(vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout] 1104 | |                         name: "".into(),
[INFO] [stdout] 1105 | |                         arg_count: 0,
[INFO] [stdout] 1106 | |                         local_bindings: 0,
[INFO] [stdout] ...    |
[INFO] [stdout] 1110 | |                     }))
[INFO] [stdout] 1111 | |                     .into()
[INFO] [stdout]      | |___________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1110 -                     }))
[INFO] [stdout] 1111 -                     .into()
[INFO] [stdout] 1110 +                     }))
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1103 ~                     <unsafe_val::UnsafeVal as Into<_>>::into(UnsafeVal::ByteCodeFunction(vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout] 1104 |                         name: "".into(),
[INFO] [stdout]  ...
[INFO] [stdout] 1109 |                         instruction_source: [Span { start: 11, end: 12 }].into(),
[INFO] [stdout] 1110 ~                     })))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `unsafe_val::UnsafeVal`
[INFO] [stdout]     --> src/compiler/mod.rs:1134:21
[INFO] [stdout]      |
[INFO] [stdout] 1134 | /                     UnsafeVal::ByteCodeFunction(
[INFO] [stdout] 1135 | |                         vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout] 1136 | |                             name: "".into(),
[INFO] [stdout] 1137 | |                             arg_count: 3,
[INFO] [stdout] ...    |
[INFO] [stdout] 1156 | |                     .into()
[INFO] [stdout]      | |___________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1155 -                     )
[INFO] [stdout] 1156 -                     .into()
[INFO] [stdout] 1155 +                     )
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1134 ~                     <unsafe_val::UnsafeVal as Into<_>>::into(UnsafeVal::ByteCodeFunction(
[INFO] [stdout] 1135 |                         vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout]  ...
[INFO] [stdout] 1154 |                         })
[INFO] [stdout] 1155 ~                     ))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `unsafe_val::UnsafeVal`
[INFO] [stdout]     --> src/compiler/mod.rs:1180:25
[INFO] [stdout]      |
[INFO] [stdout] 1180 | /                         UnsafeVal::ByteCodeFunction(
[INFO] [stdout] 1181 | |                             vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout] 1182 | |                                 name: "foo".into(),
[INFO] [stdout] 1183 | |                                 arg_count: 1,
[INFO] [stdout] ...    |
[INFO] [stdout] 1200 | |                         .into()
[INFO] [stdout]      | |_______________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1199 -                         )
[INFO] [stdout] 1200 -                         .into()
[INFO] [stdout] 1199 +                         )
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1180 ~                         <unsafe_val::UnsafeVal as Into<_>>::into(UnsafeVal::ByteCodeFunction(
[INFO] [stdout] 1181 |                             vm.objects.get_or_insert_bytecode_slow(ByteCode {
[INFO] [stdout]  ...
[INFO] [stdout] 1198 |                             })
[INFO] [stdout] 1199 ~                         ))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn val_by_name(&self, name: &str) -> Option<Val> {
[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] 159 |     pub fn val_by_name(&self, name: &str) -> Option<Val<'_>> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn eval_str(&mut self, source: &str) -> VmResult<ProtectedVal> {
[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] 174 |     pub fn eval_str(&mut self, source: &str) -> VmResult<ProtectedVal<'_>> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 202 |     ) -> VmResult<ProtectedVal> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ 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] 202 |     ) -> VmResult<ProtectedVal<'_>> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 237 |     ) -> VmResult<ProtectedVal> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ 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] 237 |     ) -> VmResult<ProtectedVal<'_>> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/builtins/mod.rs:122:51
[INFO] [stdout]     |
[INFO] [stdout] 122 |         (NativeFunction(a), NativeFunction(b)) => a == b,
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 122 -         (NativeFunction(a), NativeFunction(b)) => a == b,
[INFO] [stdout] 122 +         (NativeFunction(a), NativeFunction(b)) => std::ptr::fn_addr_eq(a, b),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn try_list(self, vm: &Vm) -> Result<&[Val], Val<'a>> {
[INFO] [stdout]     |                               ^^^            ^^^^^^
[INFO] [stdout]     |                               |              | |
[INFO] [stdout]     |                               |              | the same lifetime is hidden here
[INFO] [stdout]     |                               |              the same lifetime is elided here
[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] 117 |     pub fn try_list(self, vm: &Vm) -> Result<&[Val<'_>], Val<'a>> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:174:42
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn try_mutable_box_ref(self, vm: &Vm) -> Result<Val, Val<'a>> {
[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] 174 |     pub fn try_mutable_box_ref(self, vm: &Vm) -> Result<Val<'_>, Val<'a>> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:209:38
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn try_custom<T: CustomType>(&self, vm: &'a Vm) -> Result<CustomValRef<T>, CustomValError> {
[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] 209 |     pub fn try_custom<T: CustomType>(&self, vm: &'a Vm) -> Result<CustomValRef<'_, T>, CustomValError> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/val/mod.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 223 |         vm: &'a Vm,
[INFO] [stdout] 224 |     ) -> Result<CustomValMut<T>, CustomValError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ 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] 224 |     ) -> Result<CustomValMut<'_, T>, CustomValError> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/val/bytecode.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, PartialEq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 87 |         func: NativeFunction,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/custom.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_mut<T>(&self) -> Result<CustomValMut<T>, CustomValError>
[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] 75 |     pub fn get_mut<T>(&self) -> Result<CustomValMut<'_, T>, CustomValError>
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/val/formatter.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(vm: &'a Vm, v: UnsafeVal) -> ValFormatter {
[INFO] [stdout]    |                     --                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(vm: &'a Vm, v: UnsafeVal) -> ValFormatter<'a> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/val/formatter.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new_quoted(vm: &'a Vm, v: UnsafeVal) -> ValFormatter {
[INFO] [stdout]    |                            --                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new_quoted(vm: &'a Vm, v: UnsafeVal) -> ValFormatter<'a> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/native_function.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub(crate) fn new(vm: &mut Vm) -> NativeFunctionContext {
[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] 76 |     pub(crate) fn new(vm: &mut Vm) -> NativeFunctionContext<'_> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn split(&mut self) -> (&mut Vm, &Val) {
[INFO] [stdout]    |                  ^^^^^^^^^      ^^^^^^^  ^^^^
[INFO] [stdout]    |                  |              |        ||
[INFO] [stdout]    |                  |              |        |the same lifetime is hidden here
[INFO] [stdout]    |                  |              |        the same lifetime is elided here
[INFO] [stdout]    |                  |              the same lifetime is elided here
[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] 35 |     pub fn split(&mut self) -> (&mut Vm, &Val<'_>) {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn try_str(&'a self) -> Result<&'a str, Val> {
[INFO] [stdout]    |                     --                  --      ^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                   |
[INFO] [stdout]    |                     |                   the same lifetime is named here
[INFO] [stdout]    |                     the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn try_str(&'a self) -> Result<&'a str, Val<'a>> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:83:38
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn try_custom<T: CustomType>(&self) -> Result<CustomValRef<T>, CustomValError> {
[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] 83 |     pub fn try_custom<T: CustomType>(&self) -> Result<CustomValRef<'_, T>, CustomValError> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:89:42
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn try_custom_mut<T: CustomType>(&self) -> Result<CustomValMut<T>, CustomValError> {
[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] 89 |     pub fn try_custom_mut<T: CustomType>(&self) -> Result<CustomValMut<'_, T>, CustomValError> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/val/protected_val.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn get_mutable_box_ref(&self) -> Result<Val, Val<'a>> {
[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] 95 |     pub fn get_mutable_box_ref(&self) -> Result<Val<'_>, Val<'a>> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/val/unsafe_val.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Copy, Clone, Debug, Default, PartialEq)]
[INFO] [stdout]    |                                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 51 |     NativeFunction(NativeFunction),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spore-vm` (lib test) due to 5 previous errors; 20 warnings emitted
[INFO] [stderr] warning: unused dependency `ctor`
[INFO] [stderr]   --> Cargo.toml:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 | [dependencies.ctor]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `ctor`
[INFO] [stderr] warning: `spore-vm` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804", kill_on_drop: false }`
[INFO] [stdout] 88e0ac19dc9ce27634eb97f39ef59146856b6b48265f801746803a5f6c648804
