[INFO] fetching crate spore-vm 0.0.3...
[INFO] testing spore-vm-0.0.3 against 1.95.0 for beta-1.96-2
[INFO] extracting crate spore-vm 0.0.3 into /workspace/builds/worker-6-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate spore-vm 0.0.3 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded error-code v3.3.1
[INFO] [stderr]   Downloaded fd-lock v4.0.2
[INFO] [stderr]   Downloaded errno v0.3.9
[INFO] [stderr]   Downloaded clipboard-win v5.4.0
[INFO] [stderr]   Downloaded ctor v0.2.8
[INFO] [stderr]   Downloaded clap_lex v0.7.2
[INFO] [stderr]   Downloaded anstyle v1.0.8
[INFO] [stderr]   Downloaded castaway v0.2.3
[INFO] [stderr]   Downloaded rustversion v1.0.17
[INFO] [stderr]   Downloaded is-terminal v0.4.13
[INFO] [stderr]   Downloaded once_cell v1.20.0
[INFO] [stderr]   Downloaded compact_str v0.8.0
[INFO] [stderr]   Downloaded serde_derive v1.0.210
[INFO] [stderr]   Downloaded serde v1.0.210
[INFO] [stderr]   Downloaded clap v4.5.17
[INFO] [stderr]   Downloaded js-sys v0.3.70
[INFO] [stderr]   Downloaded clap_builder v4.5.17
[INFO] [stderr]   Downloaded serde_json v1.0.128
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.20
[INFO] [stderr]   Downloaded regex v1.10.6
[INFO] [stderr]   Downloaded syn v2.0.77
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.93
[INFO] [stderr]   Downloaded log v0.4.22
[INFO] [stderr]   Downloaded regex-syntax v0.8.4
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.93
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.93
[INFO] [stderr]   Downloaded unicode-width v0.1.13
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.93
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.93
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.5
[INFO] [stderr]   Downloaded regex-automata v0.4.7
[INFO] [stderr]   Downloaded web-sys v0.3.70
[INFO] [stderr]   Downloaded smallvec v1.13.2
[INFO] [stderr]   Downloaded rustix v0.38.36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 22b39ca0c369d73d9114a5b2e0ccf546460cb4bedd9c2c1d22b5cf3cef578814
[INFO] running `Command { std: "docker" "start" "-a" "22b39ca0c369d73d9114a5b2e0ccf546460cb4bedd9c2c1d22b5cf3cef578814", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22b39ca0c369d73d9114a5b2e0ccf546460cb4bedd9c2c1d22b5cf3cef578814", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22b39ca0c369d73d9114a5b2e0ccf546460cb4bedd9c2c1d22b5cf3cef578814", kill_on_drop: false }`
[INFO] [stdout] 22b39ca0c369d73d9114a5b2e0ccf546460cb4bedd9c2c1d22b5cf3cef578814
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2bb1c3ac43370fb04bdc4422526a0df5f4fc98184281b1509a89b84b2863dba
[INFO] running `Command { std: "docker" "start" "-a" "b2bb1c3ac43370fb04bdc4422526a0df5f4fc98184281b1509a89b84b2863dba", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling rustix v0.38.36
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling compact_str v0.8.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling fd-lock v4.0.2
[INFO] [stderr]    Compiling rustyline v14.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling ctor v0.2.8
[INFO] [stderr]    Compiling 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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.90s
[INFO] running `Command { std: "docker" "inspect" "b2bb1c3ac43370fb04bdc4422526a0df5f4fc98184281b1509a89b84b2863dba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2bb1c3ac43370fb04bdc4422526a0df5f4fc98184281b1509a89b84b2863dba", kill_on_drop: false }`
[INFO] [stdout] b2bb1c3ac43370fb04bdc4422526a0df5f4fc98184281b1509a89b84b2863dba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 355442606d0e33d80ff2fe6c39c0ebf7640299d673a4f5793c0b8968d9fa5b0d
[INFO] running `Command { std: "docker" "start" "-a" "355442606d0e33d80ff2fe6c39c0ebf7640299d673a4f5793c0b8968d9fa5b0d", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling anstyle v1.0.8
[INFO] [stderr]    Compiling clap_lex v0.7.2
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling once_cell v1.20.0
[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]    Compiling clap_builder v4.5.17
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling clap v4.5.17
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling regex v1.10.6
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling 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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.46s
[INFO] running `Command { std: "docker" "inspect" "355442606d0e33d80ff2fe6c39c0ebf7640299d673a4f5793c0b8968d9fa5b0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "355442606d0e33d80ff2fe6c39c0ebf7640299d673a4f5793c0b8968d9fa5b0d", kill_on_drop: false }`
[INFO] [stdout] 355442606d0e33d80ff2fe6c39c0ebf7640299d673a4f5793c0b8968d9fa5b0d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 001699eae870713eb777af8ddd8a4ea7bf1672157aae90f220c8eeabd930fa51
[INFO] running `Command { std: "docker" "start" "-a" "001699eae870713eb777af8ddd8a4ea7bf1672157aae90f220c8eeabd930fa51", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:159:24
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn val_by_name(&self, name: &str) -> Option<Val> {
[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] 159 |     pub fn val_by_name(&self, name: &str) -> Option<Val<'_>> {
[INFO] [stderr]     |                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:174:21
[INFO] [stderr]     |
[INFO] [stderr] 174 |     pub fn eval_str(&mut self, source: &str) -> VmResult<ProtectedVal> {
[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] 174 |     pub fn eval_str(&mut self, source: &str) -> VmResult<ProtectedVal<'_>> {
[INFO] [stderr]     |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |         &mut self,
[INFO] [stderr]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 202 |     ) -> VmResult<ProtectedVal> {
[INFO] [stderr]     |                   ^^^^^^^^^^^^ 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] 202 |     ) -> VmResult<ProtectedVal<'_>> {
[INFO] [stderr]     |                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 234 |         &mut self,
[INFO] [stderr]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 237 |     ) -> VmResult<ProtectedVal> {
[INFO] [stderr]     |                   ^^^^^^^^^^^^ 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] 237 |     ) -> VmResult<ProtectedVal<'_>> {
[INFO] [stderr]     |                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/builtins/mod.rs:122:51
[INFO] [stderr]     |
[INFO] [stderr] 122 |         (NativeFunction(a), NativeFunction(b)) => a == b,
[INFO] [stderr]     |                                                   ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 122 -         (NativeFunction(a), NativeFunction(b)) => a == b,
[INFO] [stderr] 122 +         (NativeFunction(a), NativeFunction(b)) => std::ptr::fn_addr_eq(a, b),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/val/mod.rs:117:31
[INFO] [stderr]     |
[INFO] [stderr] 117 |     pub fn try_list(self, vm: &Vm) -> Result<&[Val], Val<'a>> {
[INFO] [stderr]     |                               ^^^            ^^^^^^
[INFO] [stderr]     |                               |              | |
[INFO] [stderr]     |                               |              | the same lifetime is hidden here
[INFO] [stderr]     |                               |              the same lifetime is elided here
[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] 117 |     pub fn try_list(self, vm: &Vm) -> Result<&[Val<'_>], Val<'a>> {
[INFO] [stderr]     |                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/val/mod.rs:174:42
[INFO] [stderr]     |
[INFO] [stderr] 174 |     pub fn try_mutable_box_ref(self, vm: &Vm) -> Result<Val, Val<'a>> {
[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] 174 |     pub fn try_mutable_box_ref(self, vm: &Vm) -> Result<Val<'_>, Val<'a>> {
[INFO] [stderr]     |                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/val/mod.rs:209:38
[INFO] [stderr]     |
[INFO] [stderr] 209 |     pub fn try_custom<T: CustomType>(&self, vm: &'a Vm) -> Result<CustomValRef<T>, CustomValError> {
[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] 209 |     pub fn try_custom<T: CustomType>(&self, vm: &'a Vm) -> Result<CustomValRef<'_, T>, CustomValError> {
[INFO] [stderr]     |                                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/val/mod.rs:222:9
[INFO] [stderr]     |
[INFO] [stderr] 222 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 223 |         vm: &'a Vm,
[INFO] [stderr] 224 |     ) -> Result<CustomValMut<T>, CustomValError> {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^ 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] 224 |     ) -> Result<CustomValMut<'_, T>, CustomValError> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/val/bytecode.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 65 | #[derive(Clone, Debug, PartialEq)]
[INFO] [stderr]    |                        --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 87 |         func: NativeFunction,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/val/custom.rs:75:23
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn get_mut<T>(&self) -> Result<CustomValMut<T>, CustomValError>
[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] 75 |     pub fn get_mut<T>(&self) -> Result<CustomValMut<'_, T>, CustomValError>
[INFO] [stderr]    |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/val/formatter.rs:14:45
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new(vm: &'a Vm, v: UnsafeVal) -> ValFormatter {
[INFO] [stderr]    |                     --                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new(vm: &'a Vm, v: UnsafeVal) -> ValFormatter<'a> {
[INFO] [stderr]    |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/val/formatter.rs:24:52
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn new_quoted(vm: &'a Vm, v: UnsafeVal) -> ValFormatter {
[INFO] [stderr]    |                            --                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn new_quoted(vm: &'a Vm, v: UnsafeVal) -> ValFormatter<'a> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/val/native_function.rs:76:27
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub(crate) fn new(vm: &mut Vm) -> NativeFunctionContext {
[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] 76 |     pub(crate) fn new(vm: &mut Vm) -> NativeFunctionContext<'_> {
[INFO] [stderr]    |                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/val/protected_val.rs:35:18
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn split(&mut self) -> (&mut Vm, &Val) {
[INFO] [stderr]    |                  ^^^^^^^^^      ^^^^^^^  ^^^^
[INFO] [stderr]    |                  |              |        ||
[INFO] [stderr]    |                  |              |        |the same lifetime is hidden here
[INFO] [stderr]    |                  |              |        the same lifetime is elided here
[INFO] [stderr]    |                  |              the same lifetime is elided here
[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] 35 |     pub fn split(&mut self) -> (&mut Vm, &Val<'_>) {
[INFO] [stderr]    |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/val/protected_val.rs:77:49
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub fn try_str(&'a self) -> Result<&'a str, Val> {
[INFO] [stderr]    |                     --                  --      ^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |                   |
[INFO] [stderr]    |                     |                   the same lifetime is named here
[INFO] [stderr]    |                     the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub fn try_str(&'a self) -> Result<&'a str, Val<'a>> {
[INFO] [stderr]    |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/val/protected_val.rs:83:38
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn try_custom<T: CustomType>(&self) -> Result<CustomValRef<T>, CustomValError> {
[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] 83 |     pub fn try_custom<T: CustomType>(&self) -> Result<CustomValRef<'_, T>, CustomValError> {
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/val/protected_val.rs:89:42
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub fn try_custom_mut<T: CustomType>(&self) -> Result<CustomValMut<T>, CustomValError> {
[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] 89 |     pub fn try_custom_mut<T: CustomType>(&self) -> Result<CustomValMut<'_, T>, CustomValError> {
[INFO] [stderr]    |                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/val/protected_val.rs:95:32
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub fn get_mutable_box_ref(&self) -> Result<Val, Val<'a>> {
[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] 95 |     pub fn get_mutable_box_ref(&self) -> Result<Val<'_>, Val<'a>> {
[INFO] [stderr]    |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/val/unsafe_val.rs:51:20
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Copy, Clone, Debug, Default, PartialEq)]
[INFO] [stderr]    |                                       --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 51 |     NativeFunction(NativeFunction),
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `spore-vm` (lib) generated 20 warnings (run `cargo fix --lib -p spore-vm` to apply 17 suggestions)
[INFO] [stderr] warning: `spore-vm` (lib test) generated 20 warnings (20 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spore_vm-15d4af2a4b318cba)
[INFO] [stdout] 
[INFO] [stdout] running 177 tests
[INFO] [stdout] test builtins::boxes::tests::new_box_with_wrong_args_returns_error ... ok
[INFO] [stdout] test builtins::boxes::tests::get_box_returns_value_inside_box ... ok
[INFO] [stdout] test builtins::boxes::tests::get_box_with_wrong_args_returns_error ... ok
[INFO] [stdout] test builtins::lists::tests::list_length_on_list_returns_its_length ... ok
[INFO] [stdout] test builtins::numbers::tests::add_ints_produces_int ... ok
[INFO] [stdout] test builtins::numbers::tests::add_ints_and_floats_produces_floats ... ok
[INFO] [stdout] test builtins::numbers::tests::less_with_increasing_ordered_args_is_true ... ok
[INFO] [stdout] test builtins::numbers::tests::less_with_no_args_is_true ... ok
[INFO] [stdout] test builtins::boxes::tests::set_box_with_wrong_args_returns_error ... ok
[INFO] [stdout] test builtins::lists::tests::list_length_with_wrong_args_produces_error ... ok
[INFO] [stdout] test builtins::numbers::tests::add_floats_produces_floats ... ok
[INFO] [stdout] test builtins::numbers::tests::add_with_no_args_is_int_0 ... ok
[INFO] [stdout] test builtins::numbers::tests::less_with_nonumber_args_is_type_error ... ok
[INFO] [stdout] test builtins::numbers::tests::less_with_unordered_args_is_false ... ok
[INFO] [stdout] test builtins::numbers::tests::subtract_with_single_number_negates ... ok
[INFO] [stdout] test builtins::numbers::tests::subtract_with_wrong_args_produces_error ... ok
[INFO] [stdout] test builtins::strings::tests::string_join_with_custom_separator_concatenates_with_separator ... ok
[INFO] [stdout] test builtins::numbers::tests::subtract_with_multiple_number_subtracts_from_first_arg ... ok
[INFO] [stdout] test builtins::numbers::tests::subtract_with_no_args_produces_error ... ok
[INFO] [stdout] test builtins::strings::tests::string_join_on_empty_list_is_empty ... ok
[INFO] [stdout] test builtins::strings::tests::string_join_with_wrong_number_of_args_is_arity_error ... ok
[INFO] [stdout] test builtins::strings::tests::string_length_with_empty_string_is_zero ... ok
[INFO] [stdout] test builtins::structs::tests::struct_get_with_field_that_does_not_exist_returns_void ... ok
[INFO] [stdout] test builtins::structs::tests::struct_get_with_non_string_returns_error ... ok
[INFO] [stdout] test builtins::strings::tests::string_join_with_no_separator_concatenates ... ok
[INFO] [stdout] test builtins::structs::tests::struct_get_with_non_struct_returns_error ... ok
[INFO] [stdout] test builtins::structs::tests::struct_set_sets_new_field ... ok
[INFO] [stdout] test builtins::structs::tests::struct_get_with_too_many_args_returns_error ... ok
[INFO] [stdout] test builtins::structs::tests::struct_with_no_args_produces_empty_struct ... ok
[INFO] [stdout] test builtins::structs::tests::struct_set_sets_existing_field ... ok
[INFO] [stdout] test builtins::structs::tests::struct_with_odd_args_returns_error ... ok
[INFO] [stdout] test builtins::numbers::tests::less_with_single_arg_is_true ... ok
[INFO] [stdout] test builtins::structs::tests::struct_set_with_non_struct_returns_error ... ok
[INFO] [stdout] test builtins::system::tests::command_with_no_args_returns_error ... ok
[INFO] [stdout] test builtins::system::tests::command_that_does_not_exist_returns_error ... ok
[INFO] [stdout] test builtins::system::tests::command_can_execute ... ok
[INFO] [stdout] test builtins::system::tests::working_directory_with_args_produces_arity_error ... ok
[INFO] [stdout] test builtins::system::tests::command_with_non_string_arg_returns_error ... ok
[INFO] [stdout] test builtins::system::tests::working_directory_produces_working_directory_path ... ok
[INFO] [stdout] test builtins::tests::equal_with_different_items_returns_false ... ok
[INFO] [stdout] test builtins::tests::equal_with_equal_items_returns_true ... ok
[INFO] [stdout] test builtins::tests::equal_with_same_list_ref_returns_true ... ok
[INFO] [stdout] test builtins::tests::not_with_truthy_values_returns_true ... ok
[INFO] [stdout] test builtins::tests::equal_with_same_struct_ref_returns_true ... ok
[INFO] [stdout] test builtins::tests::not_with_void_values_returns_true ... ok
[INFO] [stdout] test builtins::tests::equal_with_wrong_number_of_args_produces_arity_error ... ok
[INFO] [stdout] test builtins::tests::not_with_wrong_not_just_one_arg_produces_arity_error ... ok
[INFO] [stdout] test builtins::tests::global_values_returns_list ... ok
[INFO] [stdout] test builtins::tests::global_values_with_args_returns_error ... ok
[INFO] [stdout] test compiler::tests::aggressive_inline_with_nonexistant_function_falls_back_to_deref ... ok
[INFO] [stdout] test compiler::tests::and_produces_jumps_to_end_on_first_false ... ok
[INFO] [stdout] test compiler::tests::aggressive_inline_with_builtin_function_inlines_function_value ... ok
[INFO] [stdout] test compiler::tests::ast_error_is_returned ... ok
[INFO] [stdout] test builtins::boxes::tests::referencing_box_does_not_return_inner_value ... ok
[INFO] [stdout] test compiler::tests::define_defines_a_new_value ... ok
[INFO] [stdout] test builtins::boxes::tests::set_box_changes_value_for_subsequent_get_box_calls ... ok
[INFO] [stdout] test compiler::tests::define_in_define_expr_produces_error ... ok
[INFO] [stdout] test builtins::strings::tests::string_length_with_wrong_args_produces_error ... ok
[INFO] [stdout] test builtins::structs::tests::struct_get_with_field_returns_field ... ok
[INFO] [stdout] test compiler::tests::define_in_function_args_produces_error ... ok
[INFO] [stdout] test builtins::structs::tests::struct_set_with_non_string_field_returns_error ... ok
[INFO] [stdout] test builtins::structs::tests::struct_set_with_too_many_args_returns_error ... ok
[INFO] [stdout] test compiler::tests::define_in_function_call_produces_error ... ok
[INFO] [stdout] test compiler::tests::early_return_on_predicate_produces_error ... ok
[INFO] [stdout] test compiler::tests::define_with_subexpression_evaluates_subexpr ... ok
[INFO] [stdout] test compiler::tests::function_call_args_evalutes_function_on_args ... ok
[INFO] [stdout] test compiler::tests::function_call_with_no_args_evalutes_function ... ok
[INFO] [stdout] test compiler::tests::if_expression_with_empty_false_branch_defaults_to_void ... ok
[INFO] [stdout] test compiler::tests::if_expression_with_non_expression_produces_error ... ok
[INFO] [stdout] test compiler::tests::define_with_list_identifier_produces_lambda ... ok
[INFO] [stdout] test compiler::tests::if_expression_allows_early_return_on_branches ... ok
[INFO] [stdout] test compiler::tests::empty_expression_is_empty ... ok
[INFO] [stdout] test compiler::tests::if_with_wrong_number_of_args_produces_arity_error ... ok
[INFO] [stdout] test compiler::tests::if_expression_produces_branching_instructions ... ok
[INFO] [stdout] test compiler::tests::lambda_produces_lambda_expr ... ok
[INFO] [stdout] test compiler::tests::lambda_can_reference_args ... ok
[INFO] [stdout] test compiler::tests::lambda_with_define_statement_produces_error ... ok
[INFO] [stdout] test compiler::tests::lambda_that_calls_self_with_push_current_function_instruction ... ok
[INFO] [stdout] test compiler::tests::lambda_with_invalid_expression_produces_error ... ok
[INFO] [stdout] test compiler::tests::lambda_with_no_expr_produces_error ... ok
[INFO] [stdout] test compiler::tests::multiple_expressions_are_evaluated_in_order ... ok
[INFO] [stdout] test compiler::tests::literal_value_produces_single_push_const ... ok
[INFO] [stdout] test compiler::tests::nested_expressions_are_evaluated ... ok
[INFO] [stdout] test compiler::tests::return_with_no_expr_produces_error ... ok
[INFO] [stdout] test gc::object_store::tests::sizes_are_small ... ok
[INFO] [stdout] test compiler::tests::return_with_non_expression_produces_error ... ok
[INFO] [stdout] test gc::tests::hacks_for_code_coverage ... ok
[INFO] [stdout] test compiler::tests::return_with_too_many_exprs_produces_error ... ok
[INFO] [stdout] test parser::ast::tests::atoms_are_parsed ... ok
[INFO] [stdout] test parser::ast::tests::backslash_with_backslash_produces_backslash ... ok
[INFO] [stdout] test error::tests::vm_error_can_print_out_related_source_code ... ok
[INFO] [stdout] test compiler::tests::single_identifier_is_dereffed ... ok
[INFO] [stdout] test compiler::tests::return_produces_return_instruction ... ok
[INFO] [stdout] test parser::ast::tests::backslash_with_n_produces_newline ... ok
[INFO] [stdout] test parser::ast::tests::backslash_with_t_produces_tab ... ok
[INFO] [stdout] test parser::ast::tests::error_in_subexpression_is_returned ... ok
[INFO] [stdout] test parser::ast::tests::expression_is_parsed_as_tree ... ok
[INFO] [stdout] test parser::ast::tests::hacks_for_code_coverage ... ok
[INFO] [stdout] test builtins::numbers::tests::add_with_nonnumber_is_type_error ... ok
[INFO] [stdout] test parser::ast::tests::quoted_strings_within_strings_are_preserved ... ok
[INFO] [stdout] test compiler::tests::single_identifier_with_aggressive_inline_is_push_const ... ok
[INFO] [stdout] test parser::ast::tests::unclosed_paren_produces_error ... ok
[INFO] [stdout] test parser::tokenizer::tests::colon_denotes_start_of_line_comment ... ok
[INFO] [stdout] test parser::tokenizer::tests::empty_str_produces_empty_stream ... ok
[INFO] [stdout] test parser::tokenizer::tests::parenthesis_are_parsed_into_own_tokens ... ok
[INFO] [stdout] test parser::tokenizer::tests::phrase_in_quotes_is_string ... ok
[INFO] [stdout] test parser::tokenizer::tests::backslash_quote_in_quote_escapes_quote_as_part_of_string ... ok
[INFO] [stdout] test parser::tokenizer::tests::unclosed_string_is_unterminated_string ... ok
[INFO] [stdout] test parser::ast::tests::unexpected_close_paren_produces_error ... ok
[INFO] [stdout] test parser::ast::tests::unterminated_string_produces_error ... ok
[INFO] [stdout] test parser::ast::tests::whitespace_produces_no_nodes ... ok
[INFO] [stdout] test parser::tokenizer::tests::whitespace_only_produces_empty_stream ... ok
[INFO] [stdout] test parser::tokenizer::tests::whitespace_separated_values_produce_item_for_each ... ok
[INFO] [stdout] test tests::and_with_all_truthy_args_returns_last_arg ... ok
[INFO] [stdout] test tests::compile_error_is_reported ... ok
[INFO] [stdout] test tests::aggressive_inline_produces_same_results_when_there_are_no_redefinitions ... ok
[INFO] [stdout] test tests::can_eval_by_function_with_native_function ... ok
[INFO] [stdout] test tests::empty_or_returns_false ... ok
[INFO] [stdout] test tests::and_with_false_arg_returns_first_false_arg ... ok
[INFO] [stdout] test tests::can_call_function_recursively ... ok
[INFO] [stdout] test tests::and_with_no_args_returns_true ... ok
[INFO] [stdout] test tests::can_get_val_by_name ... ok
[INFO] [stdout] test tests::constant_expression_evaluates_to_constant ... ok
[INFO] [stdout] test tests::defined_variable_can_be_referenced ... ok
[INFO] [stdout] test tests::eval_function_that_is_not_function_produces_error ... ok
[INFO] [stdout] test tests::function_called_with_wrong_number_of_args_produces_error ... ok
[INFO] [stdout] test tests::expression_can_evaluate ... ok
[INFO] [stdout] test tests::infinite_recursion_halts ... ok
[INFO] [stdout] test tests::lambda_can_be_evaluated ... ok
[INFO] [stdout] test tests::getting_val_that_does_not_exist_returns_err ... ok
[INFO] [stdout] test tests::if_statement_can_return_any_of ... ok
[INFO] [stdout] test tests::eval_function_that_does_not_exist_produces_error ... ok
[INFO] [stdout] test tests::or_with_all_false_or_void_returns_last_arg ... ok
[INFO] [stdout] test tests::or_with_true_returns_true ... ok
[INFO] [stdout] test tests::lambda_with_args_can_be_evaluated ... ok
[INFO] [stdout] test tests::if_statement_with_truthy_predicate_true_branch ... ok
[INFO] [stdout] test compiler::tests::lambda_with_same_arg_defined_multiple_times_produces_error ... ok
[INFO] [stdout] test tests::let_statement ... ok
[INFO] [stdout] test tests::or_with_truthy_values_returns_first_truthy_value ... ok
[INFO] [stdout] test tests::list_function_returns_list ... ok
[INFO] [stdout] test tests::local_bindings_take_precedence_over_arguments ... ok
[INFO] [stdout] test tests::multiple_bindings_dont_affect_previous_binding_when_out_of_scope ... ok
[INFO] [stdout] test tests::vm_error_is_reported ... ok
[INFO] [stdout] test tests::when_multiple_bindings_exist_last_one_is_used ... ok
[INFO] [stdout] test val::custom::tests::custom_type_can_be_accessed ... ok
[INFO] [stdout] test val::bytecode::tests::struct_sizes_are_small_enough ... ok
[INFO] [stdout] test val::custom::tests::custom_type_get_and_get_mut_with_wrong_val_type_fails ... ok
[INFO] [stdout] test val::custom::tests::custom_type_can_be_printed ... ok
[INFO] [stdout] test val::custom::tests::custom_type_can_be_accessed_multiple_times ... ok
[INFO] [stdout] test val::custom::tests::custom_type_get_and_get_mut_with_wrong_custom_type_fails ... ok
[INFO] [stdout] test val::custom::tests::custom_type_can_be_made_from_native_function ... ok
[INFO] [stdout] test val::custom::tests::get_mut_can_mutate_value ... ok
[INFO] [stdout] test val::custom::tests::hacks_for_code_coverage ... ok
[INFO] [stdout] test val::custom::tests::display_on_locked_value_does_not_freeze_or_panic ... ok
[INFO] [stdout] test val::formatter::tests::format_bool_is_true_or_false ... ok
[INFO] [stdout] test val::formatter::tests::format_function_prints_name ... ok
[INFO] [stdout] test val::formatter::tests::format_int_prints_number ... ok
[INFO] [stdout] test compiler::tests::or_produces_jumps_to_end_on_first_true ... ok
[INFO] [stdout] test val::formatter::tests::format_float_prints_number ... ok
[INFO] [stdout] test val::formatter::tests::format_void_is_empty ... ok
[INFO] [stdout] test val::formatter::tests::format_struct_produces_all_key_values ... ok
[INFO] [stdout] test val::id::tests::hacks_for_code_coverage ... ok
[INFO] [stdout] test val::tests::static_values_can_be_created_outside_of_vm ... ok
[INFO] [stdout] test val::formatter::tests::format_mutable_box_produces_underlying_value ... ok
[INFO] [stdout] test val::custom::tests::custom_type_get_mut_after_read_fails ... ok
[INFO] [stdout] test val::formatter::tests::format_string_produces_string ... ok
[INFO] [stdout] test val::unsafe_val::tests::internal_val_is_small ... ok
[INFO] [stdout] test val::formatter::tests::format_native_function_prints_native_function ... ok
[INFO] [stdout] test val::unsafe_val::tests::hacks_for_code_coverage ... ok
[INFO] [stdout] test error::tests::backtraces_are_all_eq ... ok
[INFO] [stdout] test error::tests::hacks_for_code_coverage ... ok
[INFO] [stdout] test builtins::lists::tests::list_length_on_empty_list_returns_zero ... ok
[INFO] [stdout] test val::custom::tests::custom_type_has_name ... ok
[INFO] [stdout] test builtins::strings::tests::string_join_with_wrong_type_args_is_type_error ... ok
[INFO] [stdout] test builtins::strings::tests::string_length_gives_string_length ... ok
[INFO] [stdout] test builtins::tests::not_inverts_bool ... ok
[INFO] [stdout] test val::custom::tests::custom_type_get_after_get_mut_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 177 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spore_vm
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/val/native_function.rs - val::native_function::NativeFunction (line 17) ... ok
[INFO] [stdout] test src/val/native_function.rs - val::native_function::ValBuilder (line 29) ... ok
[INFO] [stdout] test src/lib.rs - Vm::with_custom_value (line 114) ... ok
[INFO] [stdout] test src/val/native_function.rs - val::native_function::NativeFunctionContext (line 61) ... ok
[INFO] [stdout] test src/val/native_function.rs - val::native_function::ValBuilder<'static>::new (line 42) ... ok
[INFO] [stdout] test src/val/native_function.rs - val::native_function::NativeFunctionContext<'a>::new_string (line 111) ... ok
[INFO] [stdout] test src/lib.rs - Vm::eval_str (line 170) ... ok
[INFO] [stdout] test src/lib.rs - Vm::eval_function_by_name (line 188) ... ok
[INFO] [stdout] test src/val/custom.rs - val::custom::CustomType (line 155) ... ok
[INFO] [stdout] test src/repl.rs - repl::Repl (line 7) ... ok
[INFO] [stdout] test src/lib.rs - Vm (line 34) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.79s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "001699eae870713eb777af8ddd8a4ea7bf1672157aae90f220c8eeabd930fa51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "001699eae870713eb777af8ddd8a4ea7bf1672157aae90f220c8eeabd930fa51", kill_on_drop: false }`
[INFO] [stdout] 001699eae870713eb777af8ddd8a4ea7bf1672157aae90f220c8eeabd930fa51
