[INFO] fetching crate portdiff 0.4.0-rc.2...
[INFO] testing portdiff-0.4.0-rc.2 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate portdiff 0.4.0-rc.2 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate portdiff 0.4.0-rc.2
[INFO] finished tweaking crates.io crate portdiff 0.4.0-rc.2
[INFO] tweaked toml for crates.io crate portdiff 0.4.0-rc.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate portdiff 0.4.0-rc.2 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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" "+beta-2025-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 96 packages to latest compatible versions
[INFO] [stderr]       Adding delegate v0.12.0 (available: v0.13.4)
[INFO] [stderr]       Adding derive_more v0.99.20 (available: v2.0.1)
[INFO] [stderr]       Adding itertools v0.13.0 (available: v0.14.0)
[INFO] [stderr]       Adding petgraph v0.6.5 (available: v0.8.3)
[INFO] [stderr]       Adding portgraph v0.12.3 (available: v0.15.2)
[INFO] [stderr]       Adding relrc v0.3.0 (available: v0.5.0)
[INFO] [stderr]       Adding rstest v0.21.0 (available: v0.26.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f78ace2c55417ff8ecf45486314ef8e2aeaff20e2955b7a4c6ae6e72c28d68b3
[INFO] running `Command { std: "docker" "start" "-a" "f78ace2c55417ff8ecf45486314ef8e2aeaff20e2955b7a4c6ae6e72c28d68b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f78ace2c55417ff8ecf45486314ef8e2aeaff20e2955b7a4c6ae6e72c28d68b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f78ace2c55417ff8ecf45486314ef8e2aeaff20e2955b7a4c6ae6e72c28d68b3", kill_on_drop: false }`
[INFO] [stdout] f78ace2c55417ff8ecf45486314ef8e2aeaff20e2955b7a4c6ae6e72c28d68b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 332f37d75fd95810c70c090e20d4d7ea86772deca1fde154a478a9eb87306f24
[INFO] running `Command { std: "docker" "start" "-a" "332f37d75fd95810c70c090e20d4d7ea86772deca1fde154a478a9eb87306f24", kill_on_drop: false }`
[INFO] [stderr]    Compiling union-find v0.4.3
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive-where v1.6.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling delegate v0.12.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling relrc v0.3.0
[INFO] [stderr]    Compiling bimap v0.6.3
[INFO] [stderr]    Compiling portdiff v0.4.0-rc.2 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0599]: the method `all_nodes` exists for struct `RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/graph_view.rs:38:16
[INFO] [stdout]     |
[INFO] [stdout]  38 |         self.0.all_nodes().iter().copied().map(|n| n.into())
[INFO] [stdout]     |                ^^^^^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/graph_view.rs:38:49
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.0.all_nodes().iter().copied().map(|n| n.into())
[INFO] [stdout]    |                                                 ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 38 |         self.0.all_nodes().iter().copied().map(|n: /* Type */| n.into())
[INFO] [stdout]    |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sinks` exists for struct `RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/graph_view.rs:58:16
[INFO] [stdout]     |
[INFO] [stdout]  58 |         self.0.sinks().iter().map(|n| n.clone().into())
[INFO] [stdout]     |                ^^^^^ private field, not a method
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/graph_view.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 58 |         self.0.sinks().iter().map(|n| n.clone().into())
[INFO] [stdout]    |                                    ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 58 |         self.0.sinks().iter().map(|n: /* Type */| n.clone().into())
[INFO] [stdout]    |                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         RelRcGraph::lowest_common_ancestors(graphs).map(|n| n.into())
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph::<N, E>::lowest_common_ancestors`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:9
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |         ^^^^ required by this bound in `RelRcGraph::<N, E>::lowest_common_ancestors`
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn lowest_common_ancestors<'a>(
[INFO] [stdout]     |            ----------------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         RelRcGraph::lowest_common_ancestors(graphs).map(|n| n.into())
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph::<N, E>::lowest_common_ancestors`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |                  ^^^^ required by this bound in `RelRcGraph::<N, E>::lowest_common_ancestors`
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn lowest_common_ancestors<'a>(
[INFO] [stdout]     |            ----------------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:102:56
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn lowest_common_ancestors(graphs: &[Self]) -> impl Iterator<Item = NodeId<G>> + '_ {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph<N, E>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:9
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |         ^^^^ required by this bound in `RelRcGraph<N, E>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:102:56
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn lowest_common_ancestors(graphs: &[Self]) -> impl Iterator<Item = NodeId<G>> + '_ {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph<N, E>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |                  ^^^^ required by this bound in `RelRcGraph<N, E>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `all_children` exists for struct `RelRc<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/port_diff.rs:379:19
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 379 |         self.data.all_children().map(|p| p.into())
[INFO] [stdout]     |                   ^^^^^^^^^^^^ method cannot be called on `RelRc<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/port_diff.rs:379:39
[INFO] [stdout]     |
[INFO] [stdout] 379 |         self.data.all_children().map(|p| p.into())
[INFO] [stdout]     |                                       ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 379 |         self.data.all_children().map(|p: /* Type */| p.into())
[INFO] [stdout]     |                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:16:22
[INFO] [stdout]     |
[INFO] [stdout]  16 | #[derive(From, Into, Serialize, Deserialize)]
[INFO] [stdout]     |                      ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout] ...
[INFO] [stdout]  22 | pub struct PortDiffGraph<G: Graph>(RelRcGraph<PortDiffData<G>, EdgeData<G>>);
[INFO] [stdout]     |                                    ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the trait `Serialize` is implemented for `RelRcGraph<N, E>`
[INFO] [stdout]     = note: required for `RelRcGraph<PortDiffData<G>, EdgeData<G>>` to implement `Serialize`
[INFO] [stdout] note: required by a bound in `serialize_newtype_struct`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs:922:21
[INFO] [stdout]     |
[INFO] [stdout] 916 |     fn serialize_newtype_struct<T>(
[INFO] [stdout]     |        ------------------------ required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 922 |         T: ?Sized + Serialize;
[INFO] [stdout]     |                     ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_struct`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:16:22
[INFO] [stdout]     |
[INFO] [stdout]  16 | #[derive(From, Into, Serialize, Deserialize)]
[INFO] [stdout]     |                      ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout] ...
[INFO] [stdout]  22 | pub struct PortDiffGraph<G: Graph>(RelRcGraph<PortDiffData<G>, EdgeData<G>>);
[INFO] [stdout]     |                                    ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the trait `Serialize` is implemented for `RelRcGraph<N, E>`
[INFO] [stdout]     = note: required for `RelRcGraph<PortDiffData<G>, EdgeData<G>>` to implement `Serialize`
[INFO] [stdout] note: required by a bound in `serialize_newtype_struct`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs:922:21
[INFO] [stdout]     |
[INFO] [stdout] 916 |     fn serialize_newtype_struct<T>(
[INFO] [stdout]     |        ------------------------ required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 922 |         T: ?Sized + Serialize;
[INFO] [stdout]     |                     ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_struct`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:22:36
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct PortDiffGraph<G: Graph>(RelRcGraph<PortDiffData<G>, EdgeData<G>>);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the trait `Deserialize<'_>` is implemented for `RelRcGraph<N, E>`
[INFO] [stdout]     = note: required for `RelRcGraph<PortDiffData<G>, EdgeData<G>>` to implement `Deserialize<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:22:36
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub struct PortDiffGraph<G: Graph>(RelRcGraph<PortDiffData<G>, EdgeData<G>>);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the trait `Deserialize<'_>` is implemented for `RelRcGraph<N, E>`
[INFO] [stdout]     = note: required for `RelRcGraph<PortDiffData<G>, EdgeData<G>>` to implement `Deserialize<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]     --> src/graph_view.rs:22:36
[INFO] [stdout]      |
[INFO] [stdout]   22 | pub struct PortDiffGraph<G: Graph>(RelRcGraph<PortDiffData<G>, EdgeData<G>>);
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]     --> src/port_diff.rs:134:1
[INFO] [stdout]      |
[INFO] [stdout]  134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: the trait `Deserialize<'_>` is implemented for `RelRcGraph<N, E>`
[INFO] [stdout]      = note: required for `RelRcGraph<PortDiffData<G>, EdgeData<G>>` to implement `Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs:1771:12
[INFO] [stdout]      |
[INFO] [stdout] 1769 |     fn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>
[INFO] [stdout]      |        ------------ required by a bound in this associated function
[INFO] [stdout] 1770 |     where
[INFO] [stdout] 1771 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]     --> src/graph_view.rs:22:36
[INFO] [stdout]      |
[INFO] [stdout]   22 | pub struct PortDiffGraph<G: Graph>(RelRcGraph<PortDiffData<G>, EdgeData<G>>);
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]     --> src/port_diff.rs:154:1
[INFO] [stdout]      |
[INFO] [stdout]  154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: the trait `Deserialize<'_>` is implemented for `RelRcGraph<N, E>`
[INFO] [stdout]      = note: required for `RelRcGraph<PortDiffData<G>, EdgeData<G>>` to implement `Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `next_element`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs:1771:12
[INFO] [stdout]      |
[INFO] [stdout] 1769 |     fn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>
[INFO] [stdout]      |        ------------ required by a bound in this associated function
[INFO] [stdout] 1770 |     where
[INFO] [stdout] 1771 |         T: Deserialize<'de>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^ required by this bound in `SeqAccess::next_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:43:13
[INFO] [stdout]     |
[INFO] [stdout]  42 |         Self(RelRcGraph::from_sinks(
[INFO] [stdout]     |              ---------------------- required by a bound introduced by this call
[INFO] [stdout]  43 |             sinks.into_iter().map(|n| n.data).collect(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph::<N, E>::from_sinks`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:9
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |         ^^^^ required by this bound in `RelRcGraph::<N, E>::from_sinks`
[INFO] [stdout]  61 |     /// Create the graph of all ancestors of `sinks`.
[INFO] [stdout]  62 |     pub fn from_sinks(sinks: Vec<RelRc<N, E>>) -> Self {
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:43:13
[INFO] [stdout]     |
[INFO] [stdout]  42 |         Self(RelRcGraph::from_sinks(
[INFO] [stdout]     |              ---------------------- required by a bound introduced by this call
[INFO] [stdout]  43 |             sinks.into_iter().map(|n| n.data).collect(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph::<N, E>::from_sinks`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |                  ^^^^ required by this bound in `RelRcGraph::<N, E>::from_sinks`
[INFO] [stdout]  61 |     /// Create the graph of all ancestors of `sinks`.
[INFO] [stdout]  62 |     pub fn from_sinks(sinks: Vec<RelRc<N, E>>) -> Self {
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:52:13
[INFO] [stdout]     |
[INFO] [stdout]  51 |         Self(RelRcGraph::from_sinks_while(
[INFO] [stdout]     |              ---------------------------- required by a bound introduced by this call
[INFO] [stdout]  52 |             sinks.into_iter().map(|n| n.data).collect(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph::<N, E>::from_sinks_while`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:9
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |         ^^^^ required by this bound in `RelRcGraph::<N, E>::from_sinks_while`
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn from_sinks_while(
[INFO] [stdout]     |            ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/graph_view.rs:52:13
[INFO] [stdout]     |
[INFO] [stdout]  51 |         Self(RelRcGraph::from_sinks_while(
[INFO] [stdout]     |              ---------------------------- required by a bound introduced by this call
[INFO] [stdout]  52 |             sinks.into_iter().map(|n| n.data).collect(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRcGraph::<N, E>::from_sinks_while`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl<N: Hash, E: Hash> RelRcGraph<N, E> {
[INFO] [stdout]     |                  ^^^^ required by this bound in `RelRcGraph::<N, E>::from_sinks_while`
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn from_sinks_while(
[INFO] [stdout]     |            ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get_node_rc` exists for struct `RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/graph_view.rs:62:16
[INFO] [stdout]     |
[INFO] [stdout]  62 |         self.0.get_node_rc(id.into()).into()
[INFO] [stdout]     |                ^^^^^^^^^^^ method cannot be called on `RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `merge` exists for struct `RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/graph_view.rs:94:14
[INFO] [stdout]     |
[INFO] [stdout]  93 | /         self.0
[INFO] [stdout]  94 | |             .merge(other.0, merge_callback)
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 |   pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |   --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 |   pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |   ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:46:1
[INFO] [stdout]     |
[INFO] [stdout]  46 |   pub struct RelRcGraph<N, E> {
[INFO] [stdout]     |   --------------------------- doesn't satisfy `RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator` or `_: Itertools`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator`
[INFO] [stdout]             which is required by `RelRcGraph<PortDiffData<G>, EdgeData<G>>: Itertools`
[INFO] [stdout]             `&RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator`
[INFO] [stdout]             which is required by `&RelRcGraph<PortDiffData<G>, EdgeData<G>>: Itertools`
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout]             `&mut RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator`
[INFO] [stdout]             which is required by `&mut RelRcGraph<PortDiffData<G>, EdgeData<G>>: Itertools`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `edges` exists for reference `&RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/graph_view.rs:111:38
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let edges = self.inner().edges(diff_ptr.into()).collect_vec();
[INFO] [stdout]     |                                      ^^^^^ method cannot be called on `&RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `&RelRcGraph<PortDiffData<G>, EdgeData<G>>: IntoEdges`
[INFO] [stdout]             which is required by `&&RelRcGraph<PortDiffData<G>, EdgeData<G>>: IntoEdges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/graph_view.rs:112:60
[INFO] [stdout]     |
[INFO] [stdout] 112 |             if !EdgeData::are_compatible(edges.iter().map(|e| e.weight())) {
[INFO] [stdout]     |                                                            ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 112 |             if !EdgeData::are_compatible(edges.iter().map(|e: /* Type */| e.weight())) {
[INFO] [stdout]     |                                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/graph_view.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 |         PortDiffGraph(self.0.map(
[INFO] [stdout]     |                       -------^^^ method cannot be called on `RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/graph_view.rs:46:1
[INFO] [stdout]     |
[INFO] [stdout]  46 | pub struct RelRcGraph<N, E> {
[INFO] [stdout]     | --------------------------- doesn't satisfy `RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout]             `RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator`
[INFO] [stdout]             which is required by `&mut RelRcGraph<PortDiffData<G>, EdgeData<G>>: Iterator`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/graph_view.rs:140:14
[INFO] [stdout]     |
[INFO] [stdout] 140 |             |e| e.clone(),
[INFO] [stdout]     |              ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 140 |             |e: /* Type */| e.clone(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `edges` exists for reference `&RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/port_diff/squash.rs:146:39
[INFO] [stdout]     |
[INFO] [stdout] 146 |             for edge in graph.inner().edges(diff_id.into()) {
[INFO] [stdout]     |                                       ^^^^^ method cannot be called on `&RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `&RelRcGraph<PortDiffData<G>, EdgeData<G>>: IntoEdges`
[INFO] [stdout]             which is required by `&&RelRcGraph<PortDiffData<G>, EdgeData<G>>: IntoEdges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/port_diff/squash.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 for n in edge.weight().subgraph.nodes() {
[INFO] [stdout]     |                          ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PortDiffData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/port_diff.rs:52:39
[INFO] [stdout]     |
[INFO] [stdout]  52 |             data: RelRc::with_parents(data, parents.into_iter().map(|(p, e)| (p.data, e))),
[INFO] [stdout]     |                   ------------------- ^^^^ unsatisfied trait bound
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `PortDiffData<G>`
[INFO] [stdout]    --> src/port_diff.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRc::<N, E>::with_parents`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/node.rs:52:9
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl<N: Hash, E: Hash> RelRc<N, E> {
[INFO] [stdout]     |         ^^^^ required by this bound in `RelRc::<N, E>::with_parents`
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn with_parents(value: N, parents: impl IntoIterator<Item = (RelRc<N, E>, E)>) -> Self {
[INFO] [stdout]     |            ------------ required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EdgeData<G>: Hash` is not satisfied
[INFO] [stdout]    --> src/port_diff.rs:52:19
[INFO] [stdout]     |
[INFO] [stdout]  52 |             data: RelRc::with_parents(data, parents.into_iter().map(|(p, e)| (p.data, e))),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Hash` is not implemented for `EdgeData<G>`
[INFO] [stdout]    --> src/port_diff.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `RelRc::<N, E>::with_parents`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/relrc-0.3.0/src/node.rs:52:18
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl<N: Hash, E: Hash> RelRc<N, E> {
[INFO] [stdout]     |                  ^^^^ required by this bound in `RelRc::<N, E>::with_parents`
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn with_parents(value: N, parents: impl IntoIterator<Item = (RelRc<N, E>, E)>) -> Self {
[INFO] [stdout]     |            ------------ required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `outgoing_edges` exists for reference `&RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/port_diff.rs:83:14
[INFO] [stdout]     |
[INFO] [stdout]  81 |           let graph_edges = graph
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout]  82 | |             .inner()
[INFO] [stdout]  83 | |             .outgoing_edges(n.0)
[INFO] [stdout]     | |             -^^^^^^^^^^^^^^ method cannot be called on `&RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] ...
[INFO] [stdout] 134 |   pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |   --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 |   pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |   ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get_edge` exists for reference `&RelRcGraph<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/port_diff.rs:84:36
[INFO] [stdout]     |
[INFO] [stdout]  84 |             .map(|e| graph.inner().get_edge(e).value());
[INFO] [stdout]     |                                    ^^^^^^^^ method cannot be called on `&RelRcGraph<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `all_outgoing` exists for struct `RelRc<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/port_diff.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 255 |         self.data.all_outgoing()
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `n_outgoing` exists for struct `RelRc<PortDiffData<G>, EdgeData<G>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/port_diff.rs:387:19
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     | --------------------------------- doesn't satisfy `PortDiffData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     | ----------------------------- doesn't satisfy `EdgeData<G>: Hash`
[INFO] [stdout] ...
[INFO] [stdout] 387 |         self.data.n_outgoing() > 0
[INFO] [stdout]     |                   ^^^^^^^^^^ method cannot be called on `RelRc<PortDiffData<G>, EdgeData<G>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `PortDiffData<G>: Hash`
[INFO] [stdout]             `EdgeData<G>: Hash`
[INFO] [stdout] help: consider annotating `EdgeData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 154 + #[derive(Hash)]
[INFO] [stdout] 155 | pub struct EdgeData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `PortDiffData<G>` with `#[derive(Hash)]`
[INFO] [stdout]     |
[INFO] [stdout] 134 + #[derive(Hash)]
[INFO] [stdout] 135 | pub struct PortDiffData<G: Graph> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `portdiff` (lib) due to 34 previous errors
[INFO] running `Command { std: "docker" "inspect" "332f37d75fd95810c70c090e20d4d7ea86772deca1fde154a478a9eb87306f24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "332f37d75fd95810c70c090e20d4d7ea86772deca1fde154a478a9eb87306f24", kill_on_drop: false }`
[INFO] [stdout] 332f37d75fd95810c70c090e20d4d7ea86772deca1fde154a478a9eb87306f24
