[INFO] fetching crate dashcache 0.2.2...
[INFO] testing dashcache-0.2.2 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0
[INFO] extracting crate dashcache 0.2.2 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate dashcache 0.2.2
[INFO] finished tweaking crates.io crate dashcache 0.2.2
[INFO] tweaked toml for crates.io crate dashcache 0.2.2 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dashcache 0.2.2 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] Blocking waiting for file lock on package cache
[INFO] [stderr] Updating crates.io index
[INFO] [stderr] Locking 100 packages to latest compatible versions
[INFO] [stderr] Adding ahash v0.4.8 (available: v0.8.12)
[INFO] [stderr] Adding criterion v0.3.6 (available: v0.6.0)
[INFO] [stderr] Adding dashmap v3.11.10 (available: v6.1.0)
[INFO] [stderr] Adding elysees v0.2.4 (available: v0.3.2)
[INFO] [stderr] Adding itertools v0.9.0 (available: v0.14.0)
[INFO] [stderr] Adding rand v0.7.3 (available: v0.9.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] Downloading crates ...
[INFO] [stderr] Downloaded slice-dst v1.6.0
[INFO] [stderr] Downloaded dashmap v3.11.10
[INFO] [stderr] Downloaded ptr-union v2.3.0
[INFO] [stderr] Downloaded elysees v0.2.4
[INFO] [stderr] Downloaded ahash v0.4.8
[INFO] [stderr] Downloaded erasable v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee52bf63c96958d152283ab53fbab126279cdcbabcb7e81576d9750f3647c53b
[INFO] running `Command { std: "docker" "start" "-a" "ee52bf63c96958d152283ab53fbab126279cdcbabcb7e81576d9750f3647c53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee52bf63c96958d152283ab53fbab126279cdcbabcb7e81576d9750f3647c53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee52bf63c96958d152283ab53fbab126279cdcbabcb7e81576d9750f3647c53b", kill_on_drop: false }`
[INFO] [stdout] ee52bf63c96958d152283ab53fbab126279cdcbabcb7e81576d9750f3647c53b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }`
[INFO] [stdout] 5c7b54603d2d82e18ba1861c853a3c5dfb446f4d2a36c6614d15e5bc6c9ce6ce
[INFO] running `Command { std: "docker" "start" "-a" "5c7b54603d2d82e18ba1861c853a3c5dfb446f4d2a36c6614d15e5bc6c9ce6ce", kill_on_drop: false }`
[INFO] [stderr] Compiling libc v0.2.174
[INFO] [stderr] Compiling crunchy v0.2.4
[INFO] [stderr] Compiling tiny-keccak v2.0.2
[INFO] [stderr] Compiling cfg-if v1.0.1
[INFO] [stderr] Compiling erasable v1.3.0
[INFO] [stderr] Compiling once_cell v1.21.3
[INFO] [stderr] Compiling ptr-union v2.3.0
[INFO] [stderr] Compiling slice-dst v1.6.0
[INFO] [stderr] Compiling either v1.15.0
[INFO] [stderr] Compiling stable_deref_trait v1.2.0
[INFO] [stderr] Compiling itertools v0.9.0
[INFO] [stderr] Compiling elysees v0.2.4
[INFO] [stderr] Compiling getrandom v0.2.16
[INFO] [stderr] Compiling num_cpus v1.17.0
[INFO] [stderr] Compiling const-random-macro v0.1.16
[INFO] [stderr] Compiling const-random v0.1.18
[INFO] [stderr] Compiling ahash v0.3.8
[INFO] [stderr] Compiling ahash v0.4.8
[INFO] [stderr] Compiling dashmap v3.11.10
[INFO] [stderr] Compiling dashcache v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:75:16
[INFO] [stdout] |
[INFO] [stdout] 75 | if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] 75 + if !std::ptr::addr_eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stdout] |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] 75 + if !std::ptr::eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stdout] |
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout] --> src/arr.rs:101:17
[INFO] [stdout] |
[INFO] [stdout] 101 | pub fn iter(&self) -> std::slice::Iter {
[INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout] | |
[INFO] [stdout] | this lifetime flows to the output
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout] |
[INFO] [stdout] 101 | pub fn iter(&self) -> std::slice::Iter<'_, A> {
[INFO] [stdout] | +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:258:22
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| w[0].deref() as *const _ <= w[1].deref() as *const _)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| w[0].deref() as *const _.cast::<()>() <= w[1].deref() as *const _.cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ <= w[1].deref() as *const _) })
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:264:22
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| w[0].deref() as *const _ < w[1].deref() as *const _)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| w[0].deref() as *const _.cast::<()>() < w[1].deref() as *const _.cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ < w[1].deref() as *const _) })
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:367:17
[INFO] [stdout] |
[INFO] [stdout] 367 | (*l).deref() as *const A::Target <= (*r).deref() as *const A::Target
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 367 | (*l).deref() as *const A::Target.cast::<()>() <= (*r).deref() as *const A::Target.cast::<()>()
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 367 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target <= (*r).deref() as *const A::Target) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:384:17
[INFO] [stdout] |
[INFO] [stdout] 384 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 384 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 384 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:433:17
[INFO] [stdout] |
[INFO] [stdout] 433 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 433 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 433 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.63s
[INFO] running `Command { std: "docker" "inspect" "5c7b54603d2d82e18ba1861c853a3c5dfb446f4d2a36c6614d15e5bc6c9ce6ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c7b54603d2d82e18ba1861c853a3c5dfb446f4d2a36c6614d15e5bc6c9ce6ce", kill_on_drop: false }`
[INFO] [stdout] 5c7b54603d2d82e18ba1861c853a3c5dfb446f4d2a36c6614d15e5bc6c9ce6ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }`
[INFO] [stdout] bd379d450ba36ee018ef9d2b52220e06248cf8bfd7afd8857fa7525cb42855d7
[INFO] running `Command { std: "docker" "start" "-a" "bd379d450ba36ee018ef9d2b52220e06248cf8bfd7afd8857fa7525cb42855d7", kill_on_drop: false }`
[INFO] [stderr] Compiling serde v1.0.219
[INFO] [stderr] Compiling getrandom v0.1.16
[INFO] [stderr] Compiling zerocopy v0.8.26
[INFO] [stderr] Compiling num-traits v0.2.19
[INFO] [stderr] Compiling crossbeam-epoch v0.9.18
[INFO] [stderr] Compiling regex-syntax v0.8.5
[INFO] [stderr] Compiling plotters-backend v0.3.7
[INFO] [stderr] Compiling unicode-width v0.1.14
[INFO] [stderr] Compiling csv-core v0.1.12
[INFO] [stderr] Compiling itertools v0.10.5
[INFO] [stderr] Compiling bitflags v1.3.2
[INFO] [stderr] Compiling syn v2.0.104
[INFO] [stderr] Compiling half v1.8.3
[INFO] [stderr] Compiling cast v0.3.0
[INFO] [stderr] Compiling atty v0.2.14
[INFO] [stderr] Compiling oorandom v11.1.5
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:75:16
[INFO] [stdout] |
[INFO] [stdout] 75 | if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] 75 + if !std::ptr::addr_eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stdout] |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] 75 + if !std::ptr::eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stdout] |
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout] --> src/arr.rs:101:17
[INFO] [stdout] |
[INFO] [stdout] 101 | pub fn iter(&self) -> std::slice::Iter {
[INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout] | |
[INFO] [stdout] | this lifetime flows to the output
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout] |
[INFO] [stdout] 101 | pub fn iter(&self) -> std::slice::Iter<'_, A> {
[INFO] [stdout] | +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:258:22
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| w[0].deref() as *const _ <= w[1].deref() as *const _)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| w[0].deref() as *const _.cast::<()>() <= w[1].deref() as *const _.cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ <= w[1].deref() as *const _) })
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:264:22
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| w[0].deref() as *const _ < w[1].deref() as *const _)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| w[0].deref() as *const _.cast::<()>() < w[1].deref() as *const _.cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ < w[1].deref() as *const _) })
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:367:17
[INFO] [stdout] |
[INFO] [stdout] 367 | (*l).deref() as *const A::Target <= (*r).deref() as *const A::Target
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 367 | (*l).deref() as *const A::Target.cast::<()>() <= (*r).deref() as *const A::Target.cast::<()>()
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 367 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target <= (*r).deref() as *const A::Target) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:384:17
[INFO] [stdout] |
[INFO] [stdout] 384 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 384 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 384 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:433:17
[INFO] [stdout] |
[INFO] [stdout] 433 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 433 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 433 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stderr] Compiling textwrap v0.11.0
[INFO] [stderr] Compiling plotters-svg v0.3.7
[INFO] [stderr] Compiling crossbeam-deque v0.8.6
[INFO] [stderr] Compiling clap v2.34.0
[INFO] [stderr] Compiling rand_core v0.5.1
[INFO] [stderr] Compiling rayon-core v1.12.1
[INFO] [stderr] Compiling criterion-plot v0.4.5
[INFO] [stderr] Compiling rayon v1.10.0
[INFO] [stderr] Compiling regex-automata v0.4.9
[INFO] [stderr] Compiling plotters v0.3.7
[INFO] [stderr] Compiling regex v1.11.1
[INFO] [stderr] Compiling ppv-lite86 v0.2.21
[INFO] [stderr] Compiling serde_json v1.0.140
[INFO] [stderr] Compiling csv v1.3.1
[INFO] [stderr] Compiling serde_cbor v0.11.2
[INFO] [stderr] Compiling rand_chacha v0.2.2
[INFO] [stderr] Compiling rand v0.7.3
[INFO] [stderr] Compiling tinytemplate v1.2.1
[INFO] [stderr] Compiling serde_derive v1.0.219
[INFO] [stderr] Compiling criterion v0.3.6
[INFO] [stderr] Compiling dashcache v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:75:16
[INFO] [stdout] |
[INFO] [stdout] 75 | if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] 75 + if !std::ptr::addr_eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stdout] |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stdout] 75 + if !std::ptr::eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stdout] |
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout] --> src/arr.rs:101:17
[INFO] [stdout] |
[INFO] [stdout] 101 | pub fn iter(&self) -> std::slice::Iter {
[INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout] | |
[INFO] [stdout] | this lifetime flows to the output
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout] |
[INFO] [stdout] 101 | pub fn iter(&self) -> std::slice::Iter<'_, A> {
[INFO] [stdout] | +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:258:22
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| w[0].deref() as *const _ <= w[1].deref() as *const _)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| w[0].deref() as *const _.cast::<()>() <= w[1].deref() as *const _.cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 258 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ <= w[1].deref() as *const _) })
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:264:22
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| w[0].deref() as *const _ < w[1].deref() as *const _)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| w[0].deref() as *const _.cast::<()>() < w[1].deref() as *const _.cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 264 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ < w[1].deref() as *const _) })
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:367:17
[INFO] [stdout] |
[INFO] [stdout] 367 | (*l).deref() as *const A::Target <= (*r).deref() as *const A::Target
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 367 | (*l).deref() as *const A::Target.cast::<()>() <= (*r).deref() as *const A::Target.cast::<()>()
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 367 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target <= (*r).deref() as *const A::Target) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:384:17
[INFO] [stdout] |
[INFO] [stdout] 384 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 384 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 384 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout] --> src/arr.rs:433:17
[INFO] [stdout] |
[INFO] [stdout] 433 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: use untyped pointers to only compare their addresses
[INFO] [stdout] |
[INFO] [stdout] 433 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stdout] | +++++++++++++ +++++++++++++
[INFO] [stdout] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stdout] |
[INFO] [stdout] 433 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 24.15s
[INFO] running `Command { std: "docker" "inspect" "bd379d450ba36ee018ef9d2b52220e06248cf8bfd7afd8857fa7525cb42855d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd379d450ba36ee018ef9d2b52220e06248cf8bfd7afd8857fa7525cb42855d7", kill_on_drop: false }`
[INFO] [stdout] bd379d450ba36ee018ef9d2b52220e06248cf8bfd7afd8857fa7525cb42855d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }`
[INFO] [stdout] 125bb2d1422078a62f0a13db25cdda481ed30835142ccddd8f4d8e015e74b10f
[INFO] running `Command { std: "docker" "start" "-a" "125bb2d1422078a62f0a13db25cdda481ed30835142ccddd8f4d8e015e74b10f", kill_on_drop: false }`
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr] --> src/arr.rs:75:16
[INFO] [stderr] |
[INFO] [stderr] 75 | if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stderr] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stderr] |
[INFO] [stderr] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stderr] 75 + if !std::ptr::addr_eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stderr] |
[INFO] [stderr] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stderr] |
[INFO] [stderr] 75 - if l.deref() as *const A::Target != r.deref() as *const A::Target {
[INFO] [stderr] 75 + if !std::ptr::eq(l.deref() as *const A::Target, r.deref() as *const A::Target) {
[INFO] [stderr] |
[INFO] [stderr]
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr] --> src/arr.rs:101:17
[INFO] [stderr] |
[INFO] [stderr] 101 | pub fn iter(&self) -> std::slice::Iter {
[INFO] [stderr] | ^^^^^ ------------------- the lifetime gets resolved as `'_`
[INFO] [stderr] | |
[INFO] [stderr] | this lifetime flows to the output
[INFO] [stderr] |
[INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr] |
[INFO] [stderr] 101 | pub fn iter(&self) -> std::slice::Iter<'_, A> {
[INFO] [stderr] | +++
[INFO] [stderr]
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr] --> src/arr.rs:258:22
[INFO] [stderr] |
[INFO] [stderr] 258 | .all(|w| w[0].deref() as *const _ <= w[1].deref() as *const _)
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] help: use untyped pointers to only compare their addresses
[INFO] [stderr] |
[INFO] [stderr] 258 | .all(|w| w[0].deref() as *const _.cast::<()>() <= w[1].deref() as *const _.cast::<()>())
[INFO] [stderr] | +++++++++++++ +++++++++++++
[INFO] [stderr] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stderr] |
[INFO] [stderr] 258 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ <= w[1].deref() as *const _) })
[INFO] [stderr] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stderr]
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr] --> src/arr.rs:264:22
[INFO] [stderr] |
[INFO] [stderr] 264 | .all(|w| w[0].deref() as *const _ < w[1].deref() as *const _)
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] help: use untyped pointers to only compare their addresses
[INFO] [stderr] |
[INFO] [stderr] 264 | .all(|w| w[0].deref() as *const _.cast::<()>() < w[1].deref() as *const _.cast::<()>())
[INFO] [stderr] | +++++++++++++ +++++++++++++
[INFO] [stderr] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stderr] |
[INFO] [stderr] 264 | .all(|w| { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] (w[0].deref() as *const _ < w[1].deref() as *const _) })
[INFO] [stderr] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stderr]
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr] --> src/arr.rs:367:17
[INFO] [stderr] |
[INFO] [stderr] 367 | (*l).deref() as *const A::Target <= (*r).deref() as *const A::Target
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] help: use untyped pointers to only compare their addresses
[INFO] [stderr] |
[INFO] [stderr] 367 | (*l).deref() as *const A::Target.cast::<()>() <= (*r).deref() as *const A::Target.cast::<()>()
[INFO] [stderr] | +++++++++++++ +++++++++++++
[INFO] [stderr] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stderr] |
[INFO] [stderr] 367 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target <= (*r).deref() as *const A::Target) }
[INFO] [stderr] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++
[INFO] [stderr]
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr] --> src/arr.rs:384:17
[INFO] [stderr] |
[INFO] [stderr] 384 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] help: use untyped pointers to only compare their addresses
[INFO] [stderr] |
[INFO] [stderr] 384 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stderr] | +++++++++++++ +++++++++++++
[INFO] [stderr] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stderr] |
[INFO] [stderr] 384 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stderr] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stderr]
[INFO] [stderr] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stderr] --> src/arr.rs:433:17
[INFO] [stderr] |
[INFO] [stderr] 433 | ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target))
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] |
[INFO] [stderr] help: use untyped pointers to only compare their addresses
[INFO] [stderr] |
[INFO] [stderr] 433 | ((*l).deref() as *const A::Target).cast::<()>().cmp(&((*r).deref() as *const A::Target).cast::<()>())
[INFO] [stderr] | +++++++++++++ +++++++++++++
[INFO] [stderr] help: or expect the lint to compare the pointers metadata and addresses
[INFO] [stderr] |
[INFO] [stderr] 433 | { #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] ((*l).deref() as *const A::Target).cmp(&((*r).deref() as *const A::Target)) }
[INFO] [stderr] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
[INFO] [stderr]
[INFO] [stderr] warning: `dashcache` (lib) generated 7 warnings (run `cargo fix --lib -p dashcache` to apply 1 suggestion)
[INFO] [stderr] warning: `dashcache` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/dashcache-9b27285e174c6714)
[INFO] [stdout]
[INFO] [stdout] running 0 tests
[INFO] [stdout]
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout]
[INFO] [stderr] Running tests/basic_cache_test.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/basic_cache_test-0da942a8de4b6316)
[INFO] [stdout]
[INFO] [stdout] running 1 test
[INFO] [stdout] test basic_functionality ... ok
[INFO] [stdout]
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout]
[INFO] running `Command { std: "docker" "inspect" "125bb2d1422078a62f0a13db25cdda481ed30835142ccddd8f4d8e015e74b10f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "125bb2d1422078a62f0a13db25cdda481ed30835142ccddd8f4d8e015e74b10f", kill_on_drop: false }`
[INFO] [stdout] 125bb2d1422078a62f0a13db25cdda481ed30835142ccddd8f4d8e015e74b10f