[INFO] cloning repository https://github.com/Chirping666/connect-things-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Chirping666/connect-things-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChirping666%2Fconnect-things-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChirping666%2Fconnect-things-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36196fdbab62ee3c7dae7e83b3969a36c455b93b
[INFO] testing Chirping666/connect-things-rs against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChirping666%2Fconnect-things-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Chirping666/connect-things-rs
[INFO] finished tweaking git repo https://github.com/Chirping666/connect-things-rs
[INFO] tweaked toml for git repo https://github.com/Chirping666/connect-things-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Chirping666/connect-things-rs on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Chirping666/connect-things-rs 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ef1e33fe266602597129e9ad899ab956ec46335e306b2cf3857ebca6378f4280
[INFO] running `Command { std: "docker" "start" "-a" "ef1e33fe266602597129e9ad899ab956ec46335e306b2cf3857ebca6378f4280", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef1e33fe266602597129e9ad899ab956ec46335e306b2cf3857ebca6378f4280", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef1e33fe266602597129e9ad899ab956ec46335e306b2cf3857ebca6378f4280", kill_on_drop: false }`
[INFO] [stdout] ef1e33fe266602597129e9ad899ab956ec46335e306b2cf3857ebca6378f4280
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c54a3d5b5438fcc932420b5143790c7366fe4c501ffa828a4c64f4724dc8d77
[INFO] running `Command { std: "docker" "start" "-a" "8c54a3d5b5438fcc932420b5143790c7366fe4c501ffa828a4c64f4724dc8d77", kill_on_drop: false }`
[INFO] [stderr]    Compiling connect-things v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] running `Command { std: "docker" "inspect" "8c54a3d5b5438fcc932420b5143790c7366fe4c501ffa828a4c64f4724dc8d77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c54a3d5b5438fcc932420b5143790c7366fe4c501ffa828a4c64f4724dc8d77", kill_on_drop: false }`
[INFO] [stdout] 8c54a3d5b5438fcc932420b5143790c7366fe4c501ffa828a4c64f4724dc8d77
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb9c181a211ee83f0cb37458957d96afc1e50626a8bd6aa710ed750e2d0325ac
[INFO] running `Command { std: "docker" "start" "-a" "bb9c181a211ee83f0cb37458957d96afc1e50626a8bd6aa710ed750e2d0325ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling connect-things v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.94s
[INFO] running `Command { std: "docker" "inspect" "bb9c181a211ee83f0cb37458957d96afc1e50626a8bd6aa710ed750e2d0325ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb9c181a211ee83f0cb37458957d96afc1e50626a8bd6aa710ed750e2d0325ac", kill_on_drop: false }`
[INFO] [stdout] bb9c181a211ee83f0cb37458957d96afc1e50626a8bd6aa710ed750e2d0325ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f8e2d124a63e06baba3d9bec4fe56e6d0191291419c91368648675ee20dda23f
[INFO] running `Command { std: "docker" "start" "-a" "f8e2d124a63e06baba3d9bec4fe56e6d0191291419c91368648675ee20dda23f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/connect_things-8ba03a09f7e6f10b)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test tests::directed_connection_safety ... ok
[INFO] [stdout] test tests::gui_component_hierarchy ... ok
[INFO] [stdout] test tests::knowledge_representation_taxonomy_query ... ok
[INFO] [stdout] test tests::complex_knowledge_query ... ok
[INFO] [stdout] test tests::cascade_deletion_behavior ... ok
[INFO] [stdout] test tests::knowledge_representation_basic_query ... ok
[INFO] [stdout] test tests::social_network_simulation ... ok
[INFO] [stdout] test tests::undirected_connections_behavior ... ok
[INFO] [stdout] test tests::task_dependency_graph ... ok
[INFO] [stdout] test tests::memory_pressure_tracking ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests connect_things
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test src/lib.rs - Thing (line 102) ... FAILED
[INFO] [stdout] test src/lib.rs - Thing<T,C>::access_mut (line 296) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 17) ... FAILED
[INFO] [stdout] test src/lib.rs - Thing<T,C>::new (line 172) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection<T,C>::new_undirected (line 638) ... ok
[INFO] [stdout] test src/lib.rs - Thing<T,C>::do_for_a_connection (line 212) ... ok
[INFO] [stdout] test src/lib.rs - Thing (line 114) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::do_for_a_connection (line 1150) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection (line 388) ... ok
[INFO] [stdout] test src/lib.rs - Things<T,C>::dead_percentage (line 1227) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_directed_towards (line 749) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_other_thing (line 835) ... ok
[INFO] [stdout] test src/lib.rs - Things<T,C>::kill_things (line 1126) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_directed_from (line 720) ... ok
[INFO] [stdout] test src/lib.rs - Thing<T,C>::access (line 278) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::kill_connections (line 1191) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::clean (line 1270) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection<T,C>::new_directed (line 611) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::contains (line 770) ... ok
[INFO] [stdout] test src/lib.rs - Things<T,C>::do_for_a_thing (line 1082) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::new_thing (line 983) ... FAILED
[INFO] [stdout] test src/lib.rs - Things (line 915) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::access (line 677) ... ok
[INFO] [stdout] test src/lib.rs - Connection (line 399) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_direction_relative_to (line 794) ... ok
[INFO] [stdout] test src/lib.rs - Things<T,C>::new_directed_connection (line 1015) ... ok
[INFO] [stdout] test src/lib.rs - Things<T,C>::new_undirected_connection (line 1050) ... ok
[INFO] [stdout] test src/lib.rs - Things (line 927) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - Thing (line 102) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Thing<&str, _>`
[INFO] [stdout]    --> src/lib.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | let person = Thing::new("Alice");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> src/lib.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Thing<T: PartialEq, C: PartialEq> {
[INFO] [stdout]     |                                   ^^^^^^^^^ required by this bound in `Thing`
[INFO] [stdout] help: consider giving `person` an explicit type, where the type for type parameter `C` is specified
[INFO] [stdout]     |
[INFO] [stdout] 107 | let person: Thing<&_, C> = Thing::new("Alice");
[INFO] [stdout]     |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Thing<T,C>::access_mut (line 296) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Thing<&str, _>`
[INFO] [stdout]    --> src/lib.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 | let person = Thing::new("Alice");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> src/lib.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Thing<T: PartialEq, C: PartialEq> {
[INFO] [stdout]     |                                   ^^^^^^^^^ required by this bound in `Thing`
[INFO] [stdout] help: consider giving `person` an explicit type, where the type for type parameter `C` is specified
[INFO] [stdout]     |
[INFO] [stdout] 299 | let person: Thing<&_, C> = Thing::new("Alice");
[INFO] [stdout]     |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 17) stdout ----
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/lib.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let alice_preferences = alice.do_for_all_connections(|conn| {
[INFO] [stdout]    |                                                           ----- return type of closure is connect_things::Do<&'2 Connection<Concept, Relationship>>
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           has type `&'1 Connection<Concept, Relationship>`
[INFO] [stdout] 49 |         if conn.points_away_from(&alice) && conn == &Relationship::Likes {
[INFO] [stdout] 50 |             Do::Take(conn)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/lib.rs:69:48
[INFO] [stdout]    |
[INFO] [stdout] 69 |                         category.access(|data| data));
[INFO] [stdout]    |                                          ----- ^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]    |                                          |   |
[INFO] [stdout]    |                                          |   return type of closure is &'2 Concept
[INFO] [stdout]    |                                          has type `&'1 Concept`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Thing<T,C>::new (line 172) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Thing<&str, _>`
[INFO] [stdout]    --> src/lib.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 | let widget = Thing::new("Button");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> src/lib.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Thing<T: PartialEq, C: PartialEq> {
[INFO] [stdout]     |                                   ^^^^^^^^^ required by this bound in `Thing`
[INFO] [stdout] help: consider giving `widget` an explicit type, where the type for type parameter `C` is specified
[INFO] [stdout]     |
[INFO] [stdout] 176 | let widget: Thing<&_, C> = Thing::new("Button");
[INFO] [stdout]     |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Thing (line 114) stdout ----
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/lib.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | let alice_hobbies = person.do_for_all_connections(|conn| {
[INFO] [stdout]     |                                                    ----- return type of closure is connect_things::Do<&'2 Connection<&str, &str>>
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    has type `&'1 Connection<&str, &str>`
[INFO] [stdout] 127 |     conn.access(|data| return if *data == "enjoys" { Do::Take(conn) } else { Do::Nothing })
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding 'move' keyword before the nested closure
[INFO] [stdout]     |
[INFO] [stdout] 127 |     conn.access(move |data| return if *data == "enjoys" { Do::Take(conn) } else { Do::Nothing })
[INFO] [stdout]     |                 ++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::do_for_a_connection (line 1150) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `connect_things::Things<_, _>`
[INFO] [stdout]     --> src/lib.rs:1153:5
[INFO] [stdout]      |
[INFO] [stdout] 1153 | let mut graph = Things::new();
[INFO] [stdout]      |     ^^^^^^^^^   ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]     --> src/lib.rs:955:22
[INFO] [stdout]      |
[INFO] [stdout]  955 | pub struct Things<T: PartialEq, C: PartialEq> {
[INFO] [stdout]      |                      ^^^^^^^^^ required by this bound in `Things`
[INFO] [stdout] help: consider giving `graph` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1153 | let mut graph: connect_things::Things<T, C> = Things::new();
[INFO] [stdout]      |              ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::dead_percentage (line 1227) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `connect_things::Things<_, _>`
[INFO] [stdout]     --> src/lib.rs:1230:5
[INFO] [stdout]      |
[INFO] [stdout] 1230 | let mut graph = Things::new();
[INFO] [stdout]      |     ^^^^^^^^^   ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]     --> src/lib.rs:955:22
[INFO] [stdout]      |
[INFO] [stdout]  955 | pub struct Things<T: PartialEq, C: PartialEq> {
[INFO] [stdout]      |                      ^^^^^^^^^ required by this bound in `Things`
[INFO] [stdout] help: consider giving `graph` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1230 | let mut graph: connect_things::Things<T, C> = Things::new();
[INFO] [stdout]      |              ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::kill_things (line 1126) stdout ----
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]     --> src/lib.rs:1133:19
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     thing.access(|data| data.is_temporary)
[INFO] [stdout]      |                   ^^^^  ----------------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     thing.access(|data: &T| data.is_temporary)
[INFO] [stdout]      |                       ++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Thing<T,C>::access (line 278) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Thing<&str, _>`
[INFO] [stdout]    --> src/lib.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 281 | let person = Thing::new("Alice");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> src/lib.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Thing<T: PartialEq, C: PartialEq> {
[INFO] [stdout]     |                                   ^^^^^^^^^ required by this bound in `Thing`
[INFO] [stdout] help: consider giving `person` an explicit type, where the type for type parameter `C` is specified
[INFO] [stdout]     |
[INFO] [stdout] 281 | let person: Thing<&_, C> = Thing::new("Alice");
[INFO] [stdout]     |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::kill_connections (line 1191) stdout ----
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]     --> src/lib.rs:1198:18
[INFO] [stdout]      |
[INFO] [stdout] 1198 |     conn.access(|data| data.is_temporary)
[INFO] [stdout]      |                  ^^^^  ----------------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the type for type parameter `C` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1198 |     conn.access(|data: &C| data.is_temporary)
[INFO] [stdout]      |                      ++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::clean (line 1270) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `connect_things::Things<_, _>`
[INFO] [stdout]     --> src/lib.rs:1273:5
[INFO] [stdout]      |
[INFO] [stdout] 1273 | let mut graph = Things::new();
[INFO] [stdout]      |     ^^^^^^^^^   ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `PartialEq`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]     --> src/lib.rs:955:22
[INFO] [stdout]      |
[INFO] [stdout]  955 | pub struct Things<T: PartialEq, C: PartialEq> {
[INFO] [stdout]      |                      ^^^^^^^^^ required by this bound in `Things`
[INFO] [stdout] help: consider giving `graph` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1273 | let mut graph: connect_things::Things<T, C> = Things::new();
[INFO] [stdout]      |              ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::do_for_a_thing (line 1082) stdout ----
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]     --> src/lib.rs:1088:19
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     thing.access(|data| return if data.name == "Alice" { Do::Take(thing) } else { Do::Nothing })
[INFO] [stdout]      |                   ^^^^            --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     thing.access(|data: &T| return if data.name == "Alice" { Do::Take(thing) } else { Do::Nothing })
[INFO] [stdout]      |                       ++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Things<T,C>::new_thing (line 983) stdout ----
[INFO] [stdout] error[E0277]: can't compare `DocumentData` with `DocumentData`
[INFO] [stdout]    --> src/lib.rs:991:18
[INFO] [stdout]     |
[INFO] [stdout] 991 | let mut graph2 = Things::new();
[INFO] [stdout]     |                  ^^^^^^ no implementation for `DocumentData == DocumentData`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `DocumentData`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]    --> src/lib.rs:955:22
[INFO] [stdout]     |
[INFO] [stdout] 955 | pub struct Things<T: PartialEq, C: PartialEq> {
[INFO] [stdout]     |                      ^^^^^^^^^ required by this bound in `Things`
[INFO] [stdout] help: consider annotating `DocumentData` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 985 + #[derive(PartialEq)]
[INFO] [stdout] 986 | struct DocumentData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `DocumentData` with `DocumentData`
[INFO] [stdout]    --> src/lib.rs:991:18
[INFO] [stdout]     |
[INFO] [stdout] 991 | let mut graph2 = Things::new();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^ no implementation for `DocumentData == DocumentData`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `DocumentData`
[INFO] [stdout] note: required by a bound in `connect_things::Things::<T, C>::new`
[INFO] [stdout]    --> src/lib.rs:961:9
[INFO] [stdout]     |
[INFO] [stdout] 961 | impl<T: PartialEq, C: PartialEq> Things<T, C> {
[INFO] [stdout]     |         ^^^^^^^^^ required by this bound in `Things::<T, C>::new`
[INFO] [stdout] ...
[INFO] [stdout] 965 |     pub fn new() -> Things<T, C> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] help: consider annotating `DocumentData` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 985 + #[derive(PartialEq)]
[INFO] [stdout] 986 | struct DocumentData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `DocumentData` with `DocumentData`
[INFO] [stdout]    --> src/lib.rs:994:23
[INFO] [stdout]     |
[INFO] [stdout] 994 | let document = graph2.new_thing(DocumentData { title: "Report", pages: 10 });
[INFO] [stdout]     |                       ^^^^^^^^^ no implementation for `DocumentData == DocumentData`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `DocumentData`
[INFO] [stdout] note: required by a bound in `connect_things::Things::<T, C>::new_thing`
[INFO] [stdout]    --> src/lib.rs:961:9
[INFO] [stdout]     |
[INFO] [stdout] 961 | impl<T: PartialEq, C: PartialEq> Things<T, C> {
[INFO] [stdout]     |         ^^^^^^^^^ required by this bound in `Things::<T, C>::new_thing`
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn new_thing(&mut self, data: T) -> Thing<T, C> {
[INFO] [stdout]     |            --------- required by a bound in this associated function
[INFO] [stdout] help: consider annotating `DocumentData` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 985 + #[derive(PartialEq)]
[INFO] [stdout] 986 | struct DocumentData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 17)
[INFO] [stdout]     src/lib.rs - Thing (line 102)
[INFO] [stdout]     src/lib.rs - Thing (line 114)
[INFO] [stdout]     src/lib.rs - Thing<T,C>::access (line 278)
[INFO] [stdout]     src/lib.rs - Thing<T,C>::access_mut (line 296)
[INFO] [stdout]     src/lib.rs - Thing<T,C>::new (line 172)
[INFO] [stdout]     src/lib.rs - Things<T,C>::clean (line 1270)
[INFO] [stdout]     src/lib.rs - Things<T,C>::dead_percentage (line 1227)
[INFO] [stdout]     src/lib.rs - Things<T,C>::do_for_a_connection (line 1150)
[INFO] [stdout]     src/lib.rs - Things<T,C>::do_for_a_thing (line 1082)
[INFO] [stdout]     src/lib.rs - Things<T,C>::kill_connections (line 1191)
[INFO] [stdout]     src/lib.rs - Things<T,C>::kill_things (line 1126)
[INFO] [stdout]     src/lib.rs - Things<T,C>::new_thing (line 983)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 15 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.24s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.50s; merged doctests compilation took 0.25s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "f8e2d124a63e06baba3d9bec4fe56e6d0191291419c91368648675ee20dda23f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8e2d124a63e06baba3d9bec4fe56e6d0191291419c91368648675ee20dda23f", kill_on_drop: false }`
[INFO] [stdout] f8e2d124a63e06baba3d9bec4fe56e6d0191291419c91368648675ee20dda23f
