[INFO] fetching crate spore-vm 0.0.3... [INFO] testing spore-vm-0.0.3 against master#caccb4d0368bd918ef6668af8e13834d07040417 for pr-146098-1 [INFO] extracting crate spore-vm 0.0.3 into /workspace/builds/worker-3-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-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate spore-vm 0.0.3 on toolchain caccb4d0368bd918ef6668af8e13834d07040417 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "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" "+caccb4d0368bd918ef6668af8e13834d07040417" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clipboard-win v5.4.0 [INFO] [stderr] Downloaded ctor v0.2.8 [INFO] [stderr] Downloaded once_cell v1.20.0 [INFO] [stderr] Downloaded error-code v3.3.1 [INFO] [stderr] Downloaded compact_str v0.8.0 [INFO] [stderr] Downloaded rustyline v14.0.0 [INFO] [stderr] Downloaded rustix v0.38.36 [INFO] [stderr] Downloaded web-sys v0.3.70 [INFO] [stderr] Downloaded unicode-width v0.1.13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 68e0fc3bb1023984247299a68231f405ad19137bf80e5708ed2b9cba13e91841 [INFO] running `Command { std: "docker" "start" "-a" "68e0fc3bb1023984247299a68231f405ad19137bf80e5708ed2b9cba13e91841", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "68e0fc3bb1023984247299a68231f405ad19137bf80e5708ed2b9cba13e91841", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68e0fc3bb1023984247299a68231f405ad19137bf80e5708ed2b9cba13e91841", kill_on_drop: false }` [INFO] [stdout] 68e0fc3bb1023984247299a68231f405ad19137bf80e5708ed2b9cba13e91841 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 19e43049b016005a3658376bc50d288e13020c963d57a3c25caa926a8cf229b0 [INFO] running `Command { std: "docker" "start" "-a" "19e43049b016005a3658376bc50d288e13020c963d57a3c25caa926a8cf229b0", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling rustix v0.38.36 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling endian-type v0.1.2 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling nibble_vec v0.1.0 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling unicode-width v0.1.13 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling syn v2.0.77 [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 fd-lock v4.0.2 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling ctor v0.2.8 [INFO] [stderr] Compiling rustyline v14.0.0 [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 { [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> { [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 { [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> { [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 { [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> { [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 { [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> { [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 [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> { [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<'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(&self, vm: &'a Vm) -> Result, 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(&self, vm: &'a Vm) -> Result, 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, 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, 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 [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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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> { [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<'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 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.93s [INFO] running `Command { std: "docker" "inspect" "19e43049b016005a3658376bc50d288e13020c963d57a3c25caa926a8cf229b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19e43049b016005a3658376bc50d288e13020c963d57a3c25caa926a8cf229b0", kill_on_drop: false }` [INFO] [stdout] 19e43049b016005a3658376bc50d288e13020c963d57a3c25caa926a8cf229b0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f79dce54b73ce65a409d9ac8905c8394929e0817fc547cfdfd04347fb38e11c2 [INFO] running `Command { std: "docker" "start" "-a" "f79dce54b73ce65a409d9ac8905c8394929e0817fc547cfdfd04347fb38e11c2", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling half v2.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling anstyle v1.0.8 [INFO] [stderr] Compiling clap_lex v0.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling is-terminal v0.4.13 [INFO] [stderr] Compiling oorandom v11.1.4 [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 { [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> { [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 { [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> { [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 { [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> { [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 { [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> { [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 [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> { [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<'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(&self, vm: &'a Vm) -> Result, 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(&self, vm: &'a Vm) -> Result, 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, 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, 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 [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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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> { [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<'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 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling clap_builder v4.5.17 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling clap v4.5.17 [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 { [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> { [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 { [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> { [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 { [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> { [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 { [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> { [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 [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> { [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<'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(&self, vm: &'a Vm) -> Result, 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(&self, vm: &'a Vm) -> Result, 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, 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, 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 [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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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> { [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<'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 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 23.17s [INFO] running `Command { std: "docker" "inspect" "f79dce54b73ce65a409d9ac8905c8394929e0817fc547cfdfd04347fb38e11c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f79dce54b73ce65a409d9ac8905c8394929e0817fc547cfdfd04347fb38e11c2", kill_on_drop: false }` [INFO] [stdout] f79dce54b73ce65a409d9ac8905c8394929e0817fc547cfdfd04347fb38e11c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 380e14756375b85e4a70b0616ddec3944fdfdbb9ea6dd14bd8ec91a5d8774944 [INFO] running `Command { std: "docker" "start" "-a" "380e14756375b85e4a70b0616ddec3944fdfdbb9ea6dd14bd8ec91a5d8774944", 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 { [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> { [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 { [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> { [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 { [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> { [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 { [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> { [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 [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> { [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<'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(&self, vm: &'a Vm) -> Result, 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(&self, vm: &'a Vm) -> Result, 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, 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, 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 [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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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(&self) -> Result, 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> { [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<'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] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] running 177 tests [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 [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.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spore_vm-74363d00a765a391) [INFO] [stdout] test builtins::boxes::tests::get_box_returns_value_inside_box ... ok [INFO] [stdout] test builtins::boxes::tests::referencing_box_does_not_return_inner_value ... ok [INFO] [stdout] test builtins::boxes::tests::get_box_with_wrong_args_returns_error ... ok [INFO] [stdout] test builtins::boxes::tests::set_box_with_wrong_args_returns_error ... ok [INFO] [stdout] test builtins::boxes::tests::set_box_changes_value_for_subsequent_get_box_calls ... ok [INFO] [stdout] test builtins::boxes::tests::new_box_with_wrong_args_returns_error ... ok [INFO] [stdout] test builtins::lists::tests::list_length_on_empty_list_returns_zero ... ok [INFO] [stdout] test builtins::numbers::tests::add_floats_produces_floats ... ok [INFO] [stdout] test builtins::lists::tests::list_length_with_wrong_args_produces_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_with_nonnumber_is_type_error ... ok [INFO] [stdout] test builtins::numbers::tests::less_with_nonumber_args_is_type_error ... ok [INFO] [stdout] test builtins::numbers::tests::less_with_no_args_is_true ... ok [INFO] [stdout] test builtins::numbers::tests::less_with_increasing_ordered_args_is_true ... ok [INFO] [stdout] test builtins::numbers::tests::add_ints_and_floats_produces_floats ... ok [INFO] [stdout] test builtins::numbers::tests::subtract_with_single_number_negates ... ok [INFO] [stdout] test builtins::numbers::tests::less_with_unordered_args_is_false ... ok [INFO] [stdout] test builtins::strings::tests::string_join_on_empty_list_is_empty ... ok [INFO] [stdout] test builtins::strings::tests::string_join_with_custom_separator_concatenates_with_separator ... ok [INFO] [stdout] test builtins::numbers::tests::subtract_with_wrong_args_produces_error ... 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_join_with_no_separator_concatenates ... ok [INFO] [stdout] test builtins::strings::tests::string_join_with_wrong_type_args_is_type_error ... ok [INFO] [stdout] test builtins::numbers::tests::subtract_with_no_args_produces_error ... ok [INFO] [stdout] test builtins::numbers::tests::subtract_with_multiple_number_subtracts_from_first_arg ... ok [INFO] [stdout] test builtins::numbers::tests::add_with_no_args_is_int_0 ... ok [INFO] [stdout] test builtins::numbers::tests::less_with_single_arg_is_true ... ok [INFO] [stdout] test builtins::strings::tests::string_length_with_empty_string_is_zero ... ok [INFO] [stdout] test builtins::structs::tests::struct_get_with_too_many_args_returns_error ... ok [INFO] [stdout] test builtins::strings::tests::string_length_with_wrong_args_produces_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_set_with_too_many_args_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_get_with_field_returns_field ... ok [INFO] [stdout] test builtins::system::tests::command_with_no_args_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_set_sets_new_field ... ok [INFO] [stdout] test builtins::structs::tests::struct_set_with_non_string_field_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_get_with_non_string_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_set_sets_existing_field ... ok [INFO] [stdout] test builtins::structs::tests::struct_set_with_non_struct_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_with_no_args_produces_empty_struct ... ok [INFO] [stdout] test builtins::structs::tests::struct_get_with_non_struct_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_with_odd_args_returns_error ... ok [INFO] [stdout] test builtins::structs::tests::struct_get_with_field_that_does_not_exist_returns_void ... ok [INFO] [stdout] test builtins::system::tests::command_that_does_not_exist_returns_error ... ok [INFO] [stdout] test builtins::system::tests::working_directory_produces_working_directory_path ... ok [INFO] [stdout] test builtins::system::tests::command_with_non_string_arg_returns_error ... ok [INFO] [stdout] test builtins::system::tests::working_directory_with_args_produces_arity_error ... ok [INFO] [stdout] test compiler::tests::aggressive_inline_with_nonexistant_function_falls_back_to_deref ... ok [INFO] [stdout] test builtins::tests::global_values_with_args_returns_error ... ok [INFO] [stdout] test builtins::tests::equal_with_same_struct_ref_returns_true ... ok [INFO] [stdout] test builtins::tests::equal_with_same_list_ref_returns_true ... ok [INFO] [stdout] test builtins::tests::not_with_void_values_returns_true ... ok [INFO] [stdout] test builtins::tests::equal_with_equal_items_returns_true ... ok [INFO] [stdout] test compiler::tests::define_in_define_expr_produces_error ... ok [INFO] [stdout] test builtins::tests::not_inverts_bool ... ok [INFO] [stdout] test compiler::tests::define_in_function_args_produces_error ... ok [INFO] [stdout] test builtins::tests::equal_with_wrong_number_of_args_produces_arity_error ... ok [INFO] [stdout] test compiler::tests::define_in_function_call_produces_error ... ok [INFO] [stdout] test builtins::tests::equal_with_different_items_returns_false ... 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 compiler::tests::aggressive_inline_with_builtin_function_inlines_function_value ... ok [INFO] [stdout] test builtins::tests::not_with_truthy_values_returns_true ... ok [INFO] [stdout] test compiler::tests::define_with_subexpression_evaluates_subexpr ... ok [INFO] [stdout] test compiler::tests::and_produces_jumps_to_end_on_first_false ... ok [INFO] [stdout] test builtins::system::tests::command_can_execute ... ok [INFO] [stdout] test compiler::tests::early_return_on_predicate_produces_error ... 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_with_non_expression_produces_error ... ok [INFO] [stdout] test compiler::tests::define_defines_a_new_value ... ok [INFO] [stdout] test compiler::tests::lambda_with_define_statement_produces_error ... 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_allows_early_return_on_branches ... ok [INFO] [stdout] test compiler::tests::lambda_can_reference_args ... ok [INFO] [stdout] test compiler::tests::function_call_args_evalutes_function_on_args ... ok [INFO] [stdout] test compiler::tests::lambda_with_no_expr_produces_error ... ok [INFO] [stdout] test compiler::tests::lambda_with_invalid_expression_produces_error ... ok [INFO] [stdout] test compiler::tests::lambda_produces_lambda_expr ... ok [INFO] [stdout] test compiler::tests::define_with_list_identifier_produces_lambda ... ok [INFO] [stdout] test compiler::tests::ast_error_is_returned ... ok [INFO] [stdout] test compiler::tests::lambda_that_calls_self_with_push_current_function_instruction ... ok [INFO] [stdout] test compiler::tests::or_produces_jumps_to_end_on_first_true ... ok [INFO] [stdout] test compiler::tests::return_with_non_expression_produces_error ... ok [INFO] [stdout] test compiler::tests::return_with_too_many_exprs_produces_error ... ok [INFO] [stdout] test compiler::tests::literal_value_produces_single_push_const ... ok [INFO] [stdout] test compiler::tests::single_identifier_is_dereffed ... ok [INFO] [stdout] test compiler::tests::multiple_expressions_are_evaluated_in_order ... ok [INFO] [stdout] test compiler::tests::single_identifier_with_aggressive_inline_is_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 parser::ast::tests::backslash_with_backslash_produces_backslash ... ok [INFO] [stdout] test parser::ast::tests::backslash_with_n_produces_newline ... ok [INFO] [stdout] test gc::tests::hacks_for_code_coverage ... ok [INFO] [stdout] test parser::ast::tests::expression_is_parsed_as_tree ... ok [INFO] [stdout] test parser::ast::tests::error_in_subexpression_is_returned ... ok [INFO] [stdout] test parser::ast::tests::atoms_are_parsed ... ok [INFO] [stdout] test error::tests::vm_error_can_print_out_related_source_code ... ok [INFO] [stdout] test compiler::tests::return_produces_return_instruction ... ok [INFO] [stdout] test parser::ast::tests::backslash_with_t_produces_tab ... ok [INFO] [stdout] test gc::object_store::tests::sizes_are_small ... ok [INFO] [stdout] test compiler::tests::if_expression_produces_branching_instructions ... ok [INFO] [stdout] test compiler::tests::lambda_with_same_arg_defined_multiple_times_produces_error ... ok [INFO] [stdout] test parser::tokenizer::tests::empty_str_produces_empty_stream ... ok [INFO] [stdout] test parser::ast::tests::hacks_for_code_coverage ... ok [INFO] [stdout] test parser::tokenizer::tests::parenthesis_are_parsed_into_own_tokens ... ok [INFO] [stdout] test parser::ast::tests::unclosed_paren_produces_error ... ok [INFO] [stdout] test parser::tokenizer::tests::phrase_in_quotes_is_string ... ok [INFO] [stdout] test parser::tokenizer::tests::unclosed_string_is_unterminated_string ... 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::ast::tests::unexpected_close_paren_produces_error ... ok [INFO] [stdout] test parser::tokenizer::tests::colon_denotes_start_of_line_comment ... ok [INFO] [stdout] test parser::ast::tests::quoted_strings_within_strings_are_preserved ... 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::compile_error_is_reported ... ok [INFO] [stdout] test tests::and_with_false_arg_returns_first_false_arg ... ok [INFO] [stdout] test parser::tokenizer::tests::backslash_quote_in_quote_escapes_quote_as_part_of_string ... ok [INFO] [stdout] test tests::aggressive_inline_produces_same_results_when_there_are_no_redefinitions ... ok [INFO] [stdout] test tests::and_with_no_args_returns_true ... ok [INFO] [stdout] test tests::and_with_all_truthy_args_returns_last_arg ... ok [INFO] [stdout] test tests::can_eval_by_function_with_native_function ... 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::can_call_function_recursively ... ok [INFO] [stdout] test tests::getting_val_that_does_not_exist_returns_err ... ok [INFO] [stdout] test tests::defined_variable_can_be_referenced ... ok [INFO] [stdout] test tests::if_statement_with_truthy_predicate_true_branch ... ok [INFO] [stdout] test tests::eval_function_that_is_not_function_produces_error ... ok [INFO] [stdout] test tests::eval_function_that_does_not_exist_produces_error ... ok [INFO] [stdout] test tests::infinite_recursion_halts ... ok [INFO] [stdout] test tests::lambda_can_be_evaluated ... ok [INFO] [stdout] test tests::if_statement_can_return_any_of ... ok [INFO] [stdout] test tests::empty_or_returns_false ... ok [INFO] [stdout] test tests::list_function_returns_list ... ok [INFO] [stdout] test tests::expression_can_evaluate ... ok [INFO] [stdout] test tests::let_statement ... ok [INFO] [stdout] test tests::function_called_with_wrong_number_of_args_produces_error ... ok [INFO] [stdout] test tests::multiple_bindings_dont_affect_previous_binding_when_out_of_scope ... ok [INFO] [stdout] test tests::lambda_with_args_can_be_evaluated ... 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::vm_error_is_reported ... ok [INFO] [stdout] test tests::when_multiple_bindings_exist_last_one_is_used ... ok [INFO] [stdout] test val::bytecode::tests::struct_sizes_are_small_enough ... ok [INFO] [stdout] test val::custom::tests::custom_type_can_be_made_from_native_function ... ok [INFO] [stdout] test val::custom::tests::custom_type_can_be_printed ... 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_get_and_get_mut_with_wrong_val_type_fails ... ok [INFO] [stdout] test val::custom::tests::get_mut_can_mutate_value ... ok [INFO] [stdout] test val::custom::tests::custom_type_can_be_accessed ... ok [INFO] [stdout] test val::formatter::tests::format_function_prints_name ... ok [INFO] [stdout] test val::custom::tests::custom_type_can_be_accessed_multiple_times ... ok [INFO] [stdout] test val::custom::tests::hacks_for_code_coverage ... ok [INFO] [stdout] test tests::or_with_truthy_values_returns_first_truthy_value ... ok [INFO] [stdout] test val::custom::tests::custom_type_get_after_get_mut_fails ... ok [INFO] [stdout] test val::formatter::tests::format_float_prints_number ... ok [INFO] [stdout] test val::formatter::tests::format_native_function_prints_native_function ... ok [INFO] [stdout] test val::formatter::tests::format_int_prints_number ... ok [INFO] [stdout] test val::formatter::tests::format_bool_is_true_or_false ... ok [INFO] [stdout] test val::formatter::tests::format_struct_produces_all_key_values ... ok [INFO] [stdout] test val::formatter::tests::format_string_produces_string ... ok [INFO] [stdout] test val::custom::tests::custom_type_get_mut_after_read_fails ... ok [INFO] [stdout] test val::formatter::tests::format_mutable_box_produces_underlying_value ... ok [INFO] [stdout] test val::custom::tests::custom_type_has_name ... ok [INFO] [stdout] test val::custom::tests::display_on_locked_value_does_not_freeze_or_panic ... ok [INFO] [stdout] test val::id::tests::hacks_for_code_coverage ... ok [INFO] [stdout] test val::unsafe_val::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_void_is_empty ... ok [INFO] [stdout] test val::unsafe_val::tests::internal_val_is_small ... ok [INFO] [stdout] test tests::local_bindings_take_precedence_over_arguments ... ok [INFO] [stdout] test error::tests::hacks_for_code_coverage ... ok [INFO] [stdout] test error::tests::backtraces_are_all_eq ... ok [INFO] [stdout] test builtins::strings::tests::string_length_gives_string_length ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 177 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Doc-tests spore_vm [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test src/val/custom.rs - val::custom::CustomType (line 155) ... ok [INFO] [stdout] test src/val/native_function.rs - val::native_function::ValBuilder (line 29) ... ok [INFO] [stdout] test src/val/native_function.rs - val::native_function::NativeFunctionContext<'a>::new_string (line 111) ... ok [INFO] [stdout] test src/val/native_function.rs - val::native_function::NativeFunction (line 17) ... ok [INFO] [stdout] test src/repl.rs - repl::Repl (line 7) ... ok [INFO] [stdout] test src/lib.rs - Vm::eval_str (line 170) ... ok [INFO] [stdout] test src/val/native_function.rs - val::native_function::NativeFunctionContext (line 61) ... ok [INFO] [stdout] test src/lib.rs - Vm::eval_function_by_name (line 188) ... ok [INFO] [stdout] test src/val/native_function.rs - val::native_function::ValBuilder<'static>::new (line 42) ... ok [INFO] [stdout] test src/lib.rs - Vm (line 34) ... ok [INFO] [stdout] test src/lib.rs - Vm::with_custom_value (line 114) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.04s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "380e14756375b85e4a70b0616ddec3944fdfdbb9ea6dd14bd8ec91a5d8774944", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "380e14756375b85e4a70b0616ddec3944fdfdbb9ea6dd14bd8ec91a5d8774944", kill_on_drop: false }` [INFO] [stdout] 380e14756375b85e4a70b0616ddec3944fdfdbb9ea6dd14bd8ec91a5d8774944