[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] 7a11fff52c8e7025f9b67350b48aa1d2f0f8a8ac
[INFO] testing Chirping666/connect-things-rs against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChirping666%2Fconnect-things-rs" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Chirping666/connect-things-rs on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2873fe5f112f5b8a7a5578bb9a77c566c01347b5c254d94372ba6565dd1c32a2
[INFO] running `Command { std: "docker" "start" "-a" "2873fe5f112f5b8a7a5578bb9a77c566c01347b5c254d94372ba6565dd1c32a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2873fe5f112f5b8a7a5578bb9a77c566c01347b5c254d94372ba6565dd1c32a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2873fe5f112f5b8a7a5578bb9a77c566c01347b5c254d94372ba6565dd1c32a2", kill_on_drop: false }`
[INFO] [stdout] 2873fe5f112f5b8a7a5578bb9a77c566c01347b5c254d94372ba6565dd1c32a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 21b1f0f288490bacc6312e0622947647f030a867907d9529f50e6f3dc518cccb
[INFO] running `Command { std: "docker" "start" "-a" "21b1f0f288490bacc6312e0622947647f030a867907d9529f50e6f3dc518cccb", 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.29s
[INFO] running `Command { std: "docker" "inspect" "21b1f0f288490bacc6312e0622947647f030a867907d9529f50e6f3dc518cccb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21b1f0f288490bacc6312e0622947647f030a867907d9529f50e6f3dc518cccb", kill_on_drop: false }`
[INFO] [stdout] 21b1f0f288490bacc6312e0622947647f030a867907d9529f50e6f3dc518cccb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3cd593e5302215080df28f66a50884342741636ea36db4b497ca3075073212b6
[INFO] running `Command { std: "docker" "start" "-a" "3cd593e5302215080df28f66a50884342741636ea36db4b497ca3075073212b6", 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 2.48s
[INFO] running `Command { std: "docker" "inspect" "3cd593e5302215080df28f66a50884342741636ea36db4b497ca3075073212b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cd593e5302215080df28f66a50884342741636ea36db4b497ca3075073212b6", kill_on_drop: false }`
[INFO] [stdout] 3cd593e5302215080df28f66a50884342741636ea36db4b497ca3075073212b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7b8bf46568f73d484176549cb19a4226bd78fea2e64f090bfebfe577650fc830
[INFO] running `Command { std: "docker" "start" "-a" "7b8bf46568f73d484176549cb19a4226bd78fea2e64f090bfebfe577650fc830", 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-be40fffad7dba087)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test tests::cascade_deletion_behavior ... ok
[INFO] [stdout] test tests::complex_knowledge_query ... ok
[INFO] [stdout] test tests::directed_connection_safety ... ok
[INFO] [stdout] test tests::knowledge_representation_basic_query ... ok
[INFO] [stdout] test tests::gui_component_hierarchy ... ok
[INFO] [stdout] test tests::knowledge_representation_taxonomy_query ... ok
[INFO] [stdout] test tests::memory_pressure_tracking ... ok
[INFO] [stdout] test tests::social_network_simulation ... ok
[INFO] [stdout] test tests::task_dependency_graph ... ok
[INFO] [stdout] test tests::undirected_connections_behavior ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests connect_things
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test src/lib.rs - (line 17) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection (line 388) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::contains (line 770) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::access (line 677) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_directed_towards (line 749) ... ok
[INFO] [stdout] test src/lib.rs - Connection (line 399) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_directed_from (line 720) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_other_thing (line 835) ... ok
[INFO] [stdout] test src/lib.rs - Thing (line 114) ... FAILED
[INFO] [stdout] test src/lib.rs - Connection<T,C>::new_directed (line 611) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::get_direction_relative_to (line 794) ... ok
[INFO] [stdout] test src/lib.rs - Connection<T,C>::new_undirected (line 638) ... ok
[INFO] [stdout] test src/lib.rs - Thing<T,C>::access_mut (line 296) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::clean (line 1277) ... FAILED
[INFO] [stdout] test src/lib.rs - Thing<T,C>::do_for_a_connection (line 212) ... ok
[INFO] [stdout] test src/lib.rs - Things<T,C>::do_for_a_connection (line 1153) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::dead_percentage (line 1230) ... FAILED
[INFO] [stdout] test src/lib.rs - Things (line 915) ... 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 1194) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::do_for_a_thing (line 1082) ... FAILED
[INFO] [stdout] test src/lib.rs - Thing (line 102) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::kill_things (line 1126) ... FAILED
[INFO] [stdout] test src/lib.rs - Thing<T,C>::new (line 172) ... FAILED
[INFO] [stdout] test src/lib.rs - Things<T,C>::new_thing (line 983) ... FAILED
[INFO] [stdout] test src/lib.rs - Things (line 927) ... 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] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[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] 33 |     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] 34 |         if conn.points_away_from(&alice) && conn == &Relationship::Likes {
[INFO] [stdout] 35 |             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] 54 |                         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 (line 114) stdout ----
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/lib.rs:127:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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] 16 |     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] 16 |     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 - 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] 6   | let person = Thing::new("Alice");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 6   | 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>::clean (line 1277) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `connect_things::Things<_, _>`
[INFO] [stdout]    --> src/lib.rs:1280:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | let mut graph = Things::new();
[INFO] [stdout]     |     ^^^^^^^^^   ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 6   | 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_connection (line 1153) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `connect_things::Things<_, _>`
[INFO] [stdout]    --> src/lib.rs:1156:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | let mut graph = Things::new();
[INFO] [stdout]     |     ^^^^^^^^^   ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 6   | 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 1230) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `connect_things::Things<_, _>`
[INFO] [stdout]    --> src/lib.rs:1233:5
[INFO] [stdout]     |
[INFO] [stdout] 6   | let mut graph = Things::new();
[INFO] [stdout]     |     ^^^^^^^^^   ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `connect_things::Things`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 6   | 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 - 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] 6   | let person = Thing::new("Alice");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 6   | 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 1194) stdout ----
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]   --> src/lib.rs:1201:18
[INFO] [stdout]    |
[INFO] [stdout] 10 |     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] 10 |     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>::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] 9 |     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] 9 |     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 - 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] 8   | let person = Thing::new("Alice");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 8   | 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_things (line 1126) stdout ----
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]   --> src/lib.rs:1133:19
[INFO] [stdout]    |
[INFO] [stdout] 10 |     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] 10 |     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>::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] 7   | let widget = Thing::new("Button");
[INFO] [stdout]     |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: PartialEq`
[INFO] [stdout] note: required by a bound in `Thing`
[INFO] [stdout]    --> /opt/rustwide/workdir/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] 7   | 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 - 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] 11  | 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]    --> /opt/rustwide/workdir/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] 5   + #[derive(PartialEq)]
[INFO] [stdout] 6   | 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] 11  | 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]    --> /opt/rustwide/workdir/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] 5   + #[derive(PartialEq)]
[INFO] [stdout] 6   | 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] 14  | 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]    --> /opt/rustwide/workdir/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] 5   + #[derive(PartialEq)]
[INFO] [stdout] 6   | 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 1277)
[INFO] [stdout]     src/lib.rs - Things<T,C>::dead_percentage (line 1230)
[INFO] [stdout]     src/lib.rs - Things<T,C>::do_for_a_connection (line 1153)
[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 1194)
[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.96s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "7b8bf46568f73d484176549cb19a4226bd78fea2e64f090bfebfe577650fc830", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b8bf46568f73d484176549cb19a4226bd78fea2e64f090bfebfe577650fc830", kill_on_drop: false }`
[INFO] [stdout] 7b8bf46568f73d484176549cb19a4226bd78fea2e64f090bfebfe577650fc830
