[INFO] fetching crate graph_safe_compare 0.2.1...
[INFO] checking graph_safe_compare-0.2.1 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate graph_safe_compare 0.2.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate graph_safe_compare 0.2.1 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate graph_safe_compare 0.2.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate graph_safe_compare 0.2.1
[INFO] tweaked toml for crates.io crate graph_safe_compare 0.2.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate graph_safe_compare 0.2.1 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" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cfg_rust_features v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2bc2b26ea7a4fc8b9722edf4e867ea777e275214ebc01f2821aa3ee2872473f
[INFO] running `Command { std: "docker" "start" "-a" "d2bc2b26ea7a4fc8b9722edf4e867ea777e275214ebc01f2821aa3ee2872473f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2bc2b26ea7a4fc8b9722edf4e867ea777e275214ebc01f2821aa3ee2872473f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2bc2b26ea7a4fc8b9722edf4e867ea777e275214ebc01f2821aa3ee2872473f", kill_on_drop: false }`
[INFO] [stdout] d2bc2b26ea7a4fc8b9722edf4e867ea777e275214ebc01f2821aa3ee2872473f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2e9093c0bb3103454c54447a57d56b180cccc54531fc3b92439045ea061c649d
[INFO] running `Command { std: "docker" "start" "-a" "2e9093c0bb3103454c54447a57d56b180cccc54531fc3b92439045ea061c649d", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg_rust_features v0.1.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking wyhash v0.5.0
[INFO] [stderr]    Compiling graph_safe_compare v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 58 | |     {
[INFO] [stdout] 59 | |         type DescendMode = Interleave<Self>;
[INFO] [stdout] 60 | |         type Error = Infallible;
[INFO] [stdout] 61 | |         type Node = N;
[INFO] [stdout] 62 | |         type RecurMode = RecurQueue<Self>;
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | /     impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 79 | |     {
[INFO] [stdout] 80 | |         type Error = Infallible;
[INFO] [stdout] 81 | |         type InterleaveParams = Self;
[INFO] [stdout] 82 | |         type InterleaveRecurMode = RecurQueue<Self>;
[INFO] [stdout] 83 | |         type PrecheckRecurMode = RecurQueue<Self>;
[INFO] [stdout] 84 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 54 | |         {
[INFO] [stdout] 55 | |             type DescendMode = Interleave<Self>;
[INFO] [stdout] 56 | |             type Error = Infallible;
[INFO] [stdout] 57 | |             type Node = N;
[INFO] [stdout] 58 | |             type RecurMode = CallStack;
[INFO] [stdout] 59 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | /         impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 76 | |         {
[INFO] [stdout] 77 | |             type Error = Infallible;
[INFO] [stdout] 78 | |             type InterleaveParams = Self;
[INFO] [stdout] 79 | |             type InterleaveRecurMode = CallStack;
[INFO] [stdout] 80 | |             type PrecheckRecurMode = CallStack;
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> src/utils.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             self.as_ptr() < other.as_ptr()
[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] 93 |             self.as_ptr().cast::<()>() < other.as_ptr().cast::<()>()
[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/utils.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr() <= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr().cast::<()>() <= other.as_ptr().cast::<()>()
[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/utils.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr() > other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr().cast::<()>() > other.as_ptr().cast::<()>()
[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/utils.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr() >= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr().cast::<()>() >= other.as_ptr().cast::<()>()
[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/utils.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr(), &other.as_ptr())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr().cast::<()>(), &other.as_ptr().cast::<()>())
[INFO] [stdout]     |                                    +++++++++++++                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 58 | |     {
[INFO] [stdout] 59 | |         type DescendMode = Interleave<Self>;
[INFO] [stdout] 60 | |         type Error = Infallible;
[INFO] [stdout] 61 | |         type Node = N;
[INFO] [stdout] 62 | |         type RecurMode = RecurQueue<Self>;
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | /     impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 79 | |     {
[INFO] [stdout] 80 | |         type Error = Infallible;
[INFO] [stdout] 81 | |         type InterleaveParams = Self;
[INFO] [stdout] 82 | |         type InterleaveRecurMode = RecurQueue<Self>;
[INFO] [stdout] 83 | |         type PrecheckRecurMode = RecurQueue<Self>;
[INFO] [stdout] 84 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 54 | |         {
[INFO] [stdout] 55 | |             type DescendMode = Interleave<Self>;
[INFO] [stdout] 56 | |             type Error = Infallible;
[INFO] [stdout] 57 | |             type Node = N;
[INFO] [stdout] 58 | |             type RecurMode = CallStack;
[INFO] [stdout] 59 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | /         impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 76 | |         {
[INFO] [stdout] 77 | |             type Error = Infallible;
[INFO] [stdout] 78 | |             type InterleaveParams = Self;
[INFO] [stdout] 79 | |             type InterleaveRecurMode = CallStack;
[INFO] [stdout] 80 | |             type PrecheckRecurMode = CallStack;
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> src/utils.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             self.as_ptr() < other.as_ptr()
[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] 93 |             self.as_ptr().cast::<()>() < other.as_ptr().cast::<()>()
[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/utils.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr() <= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr().cast::<()>() <= other.as_ptr().cast::<()>()
[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/utils.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr() > other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr().cast::<()>() > other.as_ptr().cast::<()>()
[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/utils.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr() >= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr().cast::<()>() >= other.as_ptr().cast::<()>()
[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/utils.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr(), &other.as_ptr())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr().cast::<()>(), &other.as_ptr().cast::<()>())
[INFO] [stdout]     |                                    +++++++++++++                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/common/borrow_pair.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     tests_utils::node_types::borrow_pair::Inner,
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/common/borrow_pair.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tests_utils::node_types::borrow_pair::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/borrow_pair.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | tests_utils::eq_variations_tests!(My<'l>, &'l Datum<'l>, &, DatumAllocator::new);
[INFO] [stdout]    | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/diff_edge.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     tests_utils::{
[INFO] [stdout]    |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_edge.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | tests_utils::eq_variations_tests!(My, Kind, identity, KindAllocator::new);
[INFO] [stdout]     | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::borrow_pair::*`
[INFO] [stdout]   --> tests/borrow_pair.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use common::borrow_pair::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::identity`
[INFO] [stdout]    --> tests/diff_edge.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | use std::convert::identity;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/diff_index.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     tests_utils::{
[INFO] [stdout]    |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         tests_utils::eq_case!(
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         tests_utils::eq_case!(
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |             tests_utils::eq_case!(
[INFO] [stdout]     |             ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             tests_utils::eq_case!(
[INFO] [stdout]     |             ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/wide.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tests_utils::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> benches/common/../../tests/common/borrow_pair.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     tests_utils::node_types::borrow_pair::Inner,
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> benches/common/../../tests/common/borrow_pair.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tests_utils::node_types::borrow_pair::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> benches/equiv.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         tests_utils::shapes::PairChainMaker,
[INFO] [stdout]    |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::common::borrow_pair::Datum`, `super::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`
[INFO] [stdout]    --> benches/equiv.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout] 17  |                   Datum,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 18  |                   DatumAllocator,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |                                   Datum,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 212 |                                   DatumAllocator,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 | / variation! {
[INFO] [stdout] 234 | |     basic,
[INFO] [stdout] 235 | |     [
[INFO] [stdout] 236 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 243 | |     [equiv, limited_equiv(limit = usize::MAX)]
[INFO] [stdout] 244 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 247 | / variation! {
[INFO] [stdout] 248 | |     wide_safe,
[INFO] [stdout] 249 | |     [
[INFO] [stdout] 250 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |     [equiv, limited_equiv(limit = u32::MAX)]
[INFO] [stdout] 260 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 263 | / variation! {
[INFO] [stdout] 264 | |     deep_safe,
[INFO] [stdout] 265 | |     [
[INFO] [stdout] 266 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 275 | |     [equiv, limited_equiv(limit = u64::MAX)]
[INFO] [stdout] 276 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 279 | / variation! {
[INFO] [stdout] 280 | |     cycle_safe,
[INFO] [stdout] 281 | |     [
[INFO] [stdout] 282 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 291 | |     [equiv, precheck_equiv]
[INFO] [stdout] 292 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 295 | / variation! {
[INFO] [stdout] 296 | |     robust,
[INFO] [stdout] 297 | |     [
[INFO] [stdout] 298 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |     [equiv, precheck_equiv]
[INFO] [stdout] 312 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 320 |               Datum,
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 | / variation! {
[INFO] [stdout] 337 | |     derived_eq,
[INFO] [stdout] 338 | |     crate::extra::derived_eq,
[INFO] [stdout] 339 | |     [
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     [eq]
[INFO] [stdout] 348 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `variation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "diff_edge") due to 3 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/common/rc_pair.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     tests_utils::node_types::rc_pair::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/rc_pair.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | tests_utils::eq_variations_tests!(My, Rc<Datum>, identity, DatumAllocator::new);
[INFO] [stdout]    | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::rc_pair::*`, `std::convert::identity`
[INFO] [stdout]  --> tests/rc_pair.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     common::rc_pair::*,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     std::convert::identity,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "borrow_pair") due to 4 previous errors; 1 warning emitted
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/diff_index.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct Index(tests_utils::node_types::diff_index::Index);
[INFO] [stdout]    |              ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `identity`
[INFO] [stdout]   --> tests/diff_index.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             identity,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/diff_index.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/diff_index.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         use super::*;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "rc_pair") due to 3 previous errors; 1 warning emitted
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/multi_tails.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tests_utils::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `Shape::*`
[INFO] [stdout]    --> tests/multi_tails.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             Shape::*,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/multi_tails.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         tests_utils::eq_variation_mod_body!(
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/multi_tails.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |             tests_utils::eq_case!(
[INFO] [stdout]     |             ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: lifetime parameter `'l` is never used
[INFO] [stdout]   --> benches/equiv.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub struct Input<'l>
[INFO] [stdout]    |                      ^^ unused lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `'l`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/multi_tails.rs:220:31
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let total_depth = tests_utils::sizes::long_list_length() / 2;
[INFO] [stdout]     |                               ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `list_node_count` in this scope
[INFO] [stdout]    --> tests/multi_tails.rs:222:50
[INFO] [stdout]     |
[INFO] [stdout] 222 |             let side_node_count = side_depth.map(list_node_count);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 209 +         use crate::list_node_count;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Datum` in this scope
[INFO] [stdout]    --> tests/multi_tails.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let dummy_tail: Datum = Leaf::new();
[INFO] [stdout]     |                             ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 209 +         use crate::Datum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "diff_index") due to 7 previous errors; 3 warnings emitted
[INFO] [stdout] warning: unused imports: `std::convert::identity`, `super::*`
[INFO] [stdout]    --> tests/multi_tails.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         super::*,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 204 |         std::convert::identity,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "wide") due to 2 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Leaf`
[INFO] [stdout]    --> tests/multi_tails.rs:227:37
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let dummy_tail: Datum = Leaf::new();
[INFO] [stdout]     |                                     ^^^^ use of undeclared type `Leaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "multi_tails") due to 9 previous errors; 1 warning emitted
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0392, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0392`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (bench "equiv") due to 6 previous errors
[INFO] running `Command { std: "docker" "inspect" "2e9093c0bb3103454c54447a57d56b180cccc54531fc3b92439045ea061c649d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e9093c0bb3103454c54447a57d56b180cccc54531fc3b92439045ea061c649d", kill_on_drop: false }`
[INFO] [stdout] 2e9093c0bb3103454c54447a57d56b180cccc54531fc3b92439045ea061c649d
[INFO] checking graph_safe_compare-0.2.1 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate graph_safe_compare 0.2.1 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate graph_safe_compare 0.2.1 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate graph_safe_compare 0.2.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate graph_safe_compare 0.2.1
[INFO] tweaked toml for crates.io crate graph_safe_compare 0.2.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate crates.io crate graph_safe_compare 0.2.1 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" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e3b410079b05422782ab1e2f50475bad22646d189d16af6d7b906e603be2ae1
[INFO] running `Command { std: "docker" "start" "-a" "9e3b410079b05422782ab1e2f50475bad22646d189d16af6d7b906e603be2ae1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e3b410079b05422782ab1e2f50475bad22646d189d16af6d7b906e603be2ae1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e3b410079b05422782ab1e2f50475bad22646d189d16af6d7b906e603be2ae1", kill_on_drop: false }`
[INFO] [stdout] 9e3b410079b05422782ab1e2f50475bad22646d189d16af6d7b906e603be2ae1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e01b1d7289f090af0cd358a9f7ef2538656b4a82c208c1b3b8aff6bdd476edae
[INFO] running `Command { std: "docker" "start" "-a" "e01b1d7289f090af0cd358a9f7ef2538656b4a82c208c1b3b8aff6bdd476edae", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg_rust_features v0.1.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking wyhash v0.5.0
[INFO] [stderr]    Compiling graph_safe_compare v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 58 | |     {
[INFO] [stdout] 59 | |         type DescendMode = Interleave<Self>;
[INFO] [stdout] 60 | |         type Error = Infallible;
[INFO] [stdout] 61 | |         type Node = N;
[INFO] [stdout] 62 | |         type RecurMode = RecurQueue<Self>;
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | /     impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 79 | |     {
[INFO] [stdout] 80 | |         type Error = Infallible;
[INFO] [stdout] 81 | |         type InterleaveParams = Self;
[INFO] [stdout] 82 | |         type InterleaveRecurMode = RecurQueue<Self>;
[INFO] [stdout] 83 | |         type PrecheckRecurMode = RecurQueue<Self>;
[INFO] [stdout] 84 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 54 | |         {
[INFO] [stdout] 55 | |             type DescendMode = Interleave<Self>;
[INFO] [stdout] 56 | |             type Error = Infallible;
[INFO] [stdout] 57 | |             type Node = N;
[INFO] [stdout] 58 | |             type RecurMode = CallStack;
[INFO] [stdout] 59 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | /         impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 76 | |         {
[INFO] [stdout] 77 | |             type Error = Infallible;
[INFO] [stdout] 78 | |             type InterleaveParams = Self;
[INFO] [stdout] 79 | |             type InterleaveRecurMode = CallStack;
[INFO] [stdout] 80 | |             type PrecheckRecurMode = CallStack;
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> src/utils.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             self.as_ptr() < other.as_ptr()
[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] 93 |             self.as_ptr().cast::<()>() < other.as_ptr().cast::<()>()
[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/utils.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr() <= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr().cast::<()>() <= other.as_ptr().cast::<()>()
[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/utils.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr() > other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr().cast::<()>() > other.as_ptr().cast::<()>()
[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/utils.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr() >= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr().cast::<()>() >= other.as_ptr().cast::<()>()
[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/utils.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr(), &other.as_ptr())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr().cast::<()>(), &other.as_ptr().cast::<()>())
[INFO] [stdout]     |                                    +++++++++++++                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 58 | |     {
[INFO] [stdout] 59 | |         type DescendMode = Interleave<Self>;
[INFO] [stdout] 60 | |         type Error = Infallible;
[INFO] [stdout] 61 | |         type Node = N;
[INFO] [stdout] 62 | |         type RecurMode = RecurQueue<Self>;
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/robust.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | /     impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 79 | |     {
[INFO] [stdout] 80 | |         type Error = Infallible;
[INFO] [stdout] 81 | |         type InterleaveParams = Self;
[INFO] [stdout] 82 | |         type InterleaveRecurMode = RecurQueue<Self>;
[INFO] [stdout] 83 | |         type PrecheckRecurMode = RecurQueue<Self>;
[INFO] [stdout] 84 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         impl<N: Node> equiv::Params for Args<N>
[INFO] [stdout] 54 | |         {
[INFO] [stdout] 55 | |             type DescendMode = Interleave<Self>;
[INFO] [stdout] 56 | |             type Error = Infallible;
[INFO] [stdout] 57 | |             type Node = N;
[INFO] [stdout] 58 | |             type RecurMode = CallStack;
[INFO] [stdout] 59 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/cycle_safe.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | /         impl<N: Node> precheck_interleave::Params<N> for Args<N>
[INFO] [stdout] 76 | |         {
[INFO] [stdout] 77 | |             type Error = Infallible;
[INFO] [stdout] 78 | |             type InterleaveParams = Self;
[INFO] [stdout] 79 | |             type InterleaveRecurMode = CallStack;
[INFO] [stdout] 80 | |             type PrecheckRecurMode = CallStack;
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `precheck_equiv`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> src/utils.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             self.as_ptr() < other.as_ptr()
[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] 93 |             self.as_ptr().cast::<()>() < other.as_ptr().cast::<()>()
[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/utils.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr() <= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.as_ptr().cast::<()>() <= other.as_ptr().cast::<()>()
[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/utils.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr() > other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 111 |             self.as_ptr().cast::<()>() > other.as_ptr().cast::<()>()
[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/utils.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr() >= other.as_ptr()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 120 |             self.as_ptr().cast::<()>() >= other.as_ptr().cast::<()>()
[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/utils.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr(), &other.as_ptr())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Ord::cmp(&self.as_ptr().cast::<()>(), &other.as_ptr().cast::<()>())
[INFO] [stdout]     |                                    +++++++++++++                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> examples/derived_eq.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tests_utils::node_types::rc_pair::DatumAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> examples/derived_eq.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | tests_utils::eq_shapes_tests!(identity, DatumAllocator::new, identity,
[INFO] [stdout]   | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::identity`
[INFO] [stdout]  --> examples/derived_eq.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::identity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/common/rc_pair.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     tests_utils::node_types::rc_pair::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/custom.rs:409:5
[INFO] [stdout]     |
[INFO] [stdout] 409 |     tests_utils::eq_variation_mod_body!(
[INFO] [stdout]     |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/common/rc_pair.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     tests_utils::node_types::rc_pair::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/custom.rs:418:1
[INFO] [stdout]     |
[INFO] [stdout] 418 | tests_utils::eq_shapes_tests!(identity, DatumAllocator::new, eq_variation::MyEq::new,
[INFO] [stdout]     | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/rc_pair.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | tests_utils::eq_variations_tests!(My, Rc<Datum>, identity, DatumAllocator::new);
[INFO] [stdout]    | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `common::rc_pair::*`, `std::convert::identity`
[INFO] [stdout]  --> tests/rc_pair.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     common::rc_pair::*,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     std::convert::identity,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::convert::identity`
[INFO] [stdout]  --> tests/custom.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     core::convert::identity,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/custom.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (example "derived_eq" test) due to 3 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/diff_index.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     tests_utils::{
[INFO] [stdout]    |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         tests_utils::eq_case!(
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         tests_utils::eq_case!(
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/lazy.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     tests_utils::node_types::lazy::{
[INFO] [stdout]    |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |             tests_utils::eq_case!(
[INFO] [stdout]     |             ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]    --> tests/diff_index.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             tests_utils::eq_case!(
[INFO] [stdout]     |             ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/lazy.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | tests_utils::eq_variations_tests!(My, Datum, identity, DatumAllocator::new);
[INFO] [stdout]    | ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::identity`
[INFO] [stdout]  --> tests/lazy.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         convert::identity,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> benches/common/../../tests/common/borrow_pair.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     tests_utils::node_types::borrow_pair::Inner,
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> benches/common/../../tests/common/borrow_pair.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tests_utils::node_types::borrow_pair::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> benches/equiv.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         tests_utils::shapes::PairChainMaker,
[INFO] [stdout]    |         ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::common::borrow_pair::Datum`, `super::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`, `crate::common::borrow_pair::Datum`, `crate::common::borrow_pair::DatumAllocator`
[INFO] [stdout]    --> benches/equiv.rs:17:17
[INFO] [stdout]     |
[INFO] [stdout] 17  |                   Datum,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 18  |                   DatumAllocator,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |                                   Datum,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 212 |                                   DatumAllocator,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 | / variation! {
[INFO] [stdout] 234 | |     basic,
[INFO] [stdout] 235 | |     [
[INFO] [stdout] 236 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 243 | |     [equiv, limited_equiv(limit = usize::MAX)]
[INFO] [stdout] 244 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 247 | / variation! {
[INFO] [stdout] 248 | |     wide_safe,
[INFO] [stdout] 249 | |     [
[INFO] [stdout] 250 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |     [equiv, limited_equiv(limit = u32::MAX)]
[INFO] [stdout] 260 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 263 | / variation! {
[INFO] [stdout] 264 | |     deep_safe,
[INFO] [stdout] 265 | |     [
[INFO] [stdout] 266 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 275 | |     [equiv, limited_equiv(limit = u64::MAX)]
[INFO] [stdout] 276 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 279 | / variation! {
[INFO] [stdout] 280 | |     cycle_safe,
[INFO] [stdout] 281 | |     [
[INFO] [stdout] 282 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 291 | |     [equiv, precheck_equiv]
[INFO] [stdout] 292 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 295 | / variation! {
[INFO] [stdout] 296 | |     robust,
[INFO] [stdout] 297 | |     [
[INFO] [stdout] 298 | |         list,
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |     [equiv, precheck_equiv]
[INFO] [stdout] 312 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 320 |               Datum,
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 | / variation! {
[INFO] [stdout] 337 | |     derived_eq,
[INFO] [stdout] 338 | |     crate::extra::derived_eq,
[INFO] [stdout] 339 | |     [
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     [eq]
[INFO] [stdout] 348 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `variation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]  --> tests/wide.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tests_utils::{
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "rc_pair") due to 3 previous errors; 1 warning emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tests_utils`
[INFO] [stdout]   --> tests/diff_index.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct Index(tests_utils::node_types::diff_index::Index);
[INFO] [stdout]    |              ^^^^^^^^^^^ use of undeclared crate or module `tests_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "lazy") due to 3 previous errors; 1 warning emitted
[INFO] [stdout] warning: unused import: `identity`
[INFO] [stdout]   --> tests/diff_index.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             identity,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/diff_index.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/diff_index.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         use super::*;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for mutable reference `&mut EdgesIter<My>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/custom.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 let next = edges_iter.next();
[INFO] [stdout]     |                                       ^^^^ method cannot be called on `&mut EdgesIter<My>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/common/rc_pair.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout] 16  | pub struct My(pub Rc<Datum>);
[INFO] [stdout]     | ------------- doesn't satisfy `rc_pair::My: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/generic.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub struct EdgesIter<N: Node>
[INFO] [stdout]     |     ----------------------------- doesn't satisfy `EdgesIter<rc_pair::My>: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `rc_pair::My: Sized`
[INFO] [stdout]             which is required by `EdgesIter<rc_pair::My>: Iterator`
[INFO] [stdout]             `EdgesIter<rc_pair::My>: Iterator`
[INFO] [stdout]             which is required by `&mut EdgesIter<rc_pair::My>: Iterator`
[INFO] [stdout] note: the trait `Sized` must be implemented
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/core/src/marker.rs:145:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "diff_index") due to 7 previous errors; 3 warnings emitted
[INFO] [stdout] error[E0392]: lifetime parameter `'l` is never used
[INFO] [stdout]   --> benches/equiv.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub struct Input<'l>
[INFO] [stdout]    |                      ^^ unused lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `'l`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "custom") due to 5 previous errors; 2 warnings emitted
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (test "wide") due to 2 previous errors
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0392, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0392`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graph_safe_compare` (bench "equiv") due to 6 previous errors
[INFO] running `Command { std: "docker" "inspect" "e01b1d7289f090af0cd358a9f7ef2538656b4a82c208c1b3b8aff6bdd476edae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e01b1d7289f090af0cd358a9f7ef2538656b4a82c208c1b3b8aff6bdd476edae", kill_on_drop: false }`
[INFO] [stdout] e01b1d7289f090af0cd358a9f7ef2538656b4a82c208c1b3b8aff6bdd476edae
