[INFO] cloning repository https://github.com/ryandv/advent23
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryandv/advent23" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryandv%2Fadvent23", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryandv%2Fadvent23'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 57bb7211f35e91f136a869514f39b7dc45887d7a
[INFO] testing ryandv/advent23 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryandv%2Fadvent23" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ryandv/advent23
[INFO] finished tweaking git repo https://github.com/ryandv/advent23
[INFO] tweaked toml for git repo https://github.com/ryandv/advent23 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ryandv/advent23 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ryandv/advent23 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.71
[INFO] [stderr]   Downloaded quickcheck_macros v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 71793834535c8850f136e4c14a8d8e2595a9e2b2c17af10e61e749101ec73320
[INFO] running `Command { std: "docker" "start" "-a" "71793834535c8850f136e4c14a8d8e2595a9e2b2c17af10e61e749101ec73320", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71793834535c8850f136e4c14a8d8e2595a9e2b2c17af10e61e749101ec73320", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71793834535c8850f136e4c14a8d8e2595a9e2b2c17af10e61e749101ec73320", kill_on_drop: false }`
[INFO] [stdout] 71793834535c8850f136e4c14a8d8e2595a9e2b2c17af10e61e749101ec73320
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 463f262f24ddbbf1d7994e85384a1f230e8ce394e5d584591a977491f8eed87c
[INFO] running `Command { std: "docker" "start" "-a" "463f262f24ddbbf1d7994e85384a1f230e8ce394e5d584591a977491f8eed87c", kill_on_drop: false }`
[INFO] [stderr]    Compiling advent23 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/main.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let (p, v) = pq.pop().unwrap();
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:201:23
[INFO] [stdout]     |
[INFO] [stdout] 201 |             .map(|(e, w)| e.clone()))
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let tvisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacencies`
[INFO] [stdout]    --> src/main.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let tvisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let svisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacencies`
[INFO] [stdout]    --> src/main.rs:270:39
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let svisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]   --> src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct Graph<T: Clone + Eq + Ord + Hash> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vertex` is never constructed
[INFO] [stdout]   --> src/main.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Vertex<T: Clone + Eq + Ord + Hash>(BTreeSet<Rc<T>>);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `merge` are never used
[INFO] [stdout]   --> src/main.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<T: Clone + Eq + Ord + Hash> Vertex<T> {
[INFO] [stdout]    | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(t: T) -> Vertex<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn merge(&self, other: &Self) -> Vertex<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/main.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Edge<T: Clone + Eq + Ord + Hash>(usize, UnorderedPair<Vertex<T>>);
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `partner`, and `joins` are never used
[INFO] [stdout]   --> src/main.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl<T: Clone + Eq + Ord + Hash> Edge<T> {
[INFO] [stdout]    | ---------------------------------------- associated items in this implementation
[INFO] [stdout] 61 |     pub fn new(id: usize, u: Vertex<T>, v: Vertex<T>) -> Edge<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn partner(&self, v: &Vertex<T>) -> &Vertex<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn joins(&self, v: &Vertex<T>) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_adjacency_lists`, `merge`, `maximum_adjacency_search`, and `stoer_wagner` are never used
[INFO] [stdout]    --> src/main.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<T: Clone + Eq + Ord + Hash> Graph<T> {
[INFO] [stdout]     | ----------------------------------------- associated items in this implementation
[INFO] [stdout]  90 |     pub fn from_adjacency_lists<I: std::iter::IntoIterator<Item = (Edge<T>, usize)>>(adjacency_list: I) -> Graph<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn merge(&self, u: &Vertex<T>, v: &Vertex<T>) -> Graph<T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn maximum_adjacency_search<F>(&self, mut visitor: F, origin: &Vertex<T>) where
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn stoer_wagner(&self, origin: &Vertex<T>) -> HashSet<Edge<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnorderedPair` is never constructed
[INFO] [stdout]    --> src/main.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | struct UnorderedPair<T: Eq>((T, T));
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains` and `partner` are never used
[INFO] [stdout]    --> src/main.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl<T: Eq> UnorderedPair<T> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] 233 |     pub fn contains(&self, t: &T) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn partner(&self, t: &T) -> &T {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]    --> src/main.rs:244:4
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn parse_input(input: &str) -> Result<Graph<&str>, &str> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]    --> src/main.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn solve(input: &str) -> Result<usize, &str> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] running `Command { std: "docker" "inspect" "463f262f24ddbbf1d7994e85384a1f230e8ce394e5d584591a977491f8eed87c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "463f262f24ddbbf1d7994e85384a1f230e8ce394e5d584591a977491f8eed87c", kill_on_drop: false }`
[INFO] [stdout] 463f262f24ddbbf1d7994e85384a1f230e8ce394e5d584591a977491f8eed87c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e955876237f7fb37e43762476c9b5ed501ea81c67d6c073e6ddfefcefb37916a
[INFO] running `Command { std: "docker" "start" "-a" "e955876237f7fb37e43762476c9b5ed501ea81c67d6c073e6ddfefcefb37916a", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.71
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling quickcheck_macros v1.0.0
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling quickcheck v1.0.3
[INFO] [stderr]    Compiling advent23 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/main.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let (p, v) = pq.pop().unwrap();
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:201:23
[INFO] [stdout]     |
[INFO] [stdout] 201 |             .map(|(e, w)| e.clone()))
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let tvisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacencies`
[INFO] [stdout]    --> src/main.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let tvisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let svisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacencies`
[INFO] [stdout]    --> src/main.rs:270:39
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let svisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stdout]     |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut dc = g.edges.iter().fold(HashMap::<Vertex<usize>, usize>::new(), |mut h, (Edge(_, UnorderedPair((u, v))), _w)| {
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:482:72
[INFO] [stdout]     |
[INFO] [stdout] 482 | ...ed.iter().enumerate().filter(|(v, scanned)| **scanned).map(|p| Vertex::new(p.0)).collect::<HashSet<Vertex<usize>>>();
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:501:13
[INFO] [stdout]     |
[INFO] [stdout] 501 |         let mut merged_edges: Vec<(Vertex<usize>, &Edge<usize>)> = g.vertices
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let mut adopted_edges: Vec<(Vertex<usize>, &Edge<usize>)> = g.vertices
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:528:43
[INFO] [stdout]     |
[INFO] [stdout] 528 | ...   assert!(merged_edges.iter().all(|(x, e)| !g0.edges.contains_key(e)), "expected {:?} to not contain unmerged edges from {:?}",...
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:515:27
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 .map(|(e, w)| (x.clone(), e)))
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:507:27
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 .map(|(e, w)| (x.clone(), e)))
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:558:66
[INFO] [stdout]     |
[INFO] [stdout] 558 |             next_max = (Some(equivalent_vertices.iter().map(|(v, w)| v.clone()).collect()), *max_next.unwrap().1);
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:557:57
[INFO] [stdout]     |
[INFO] [stdout] 557 | ...                   .partition(|(v, w)| w == max_next.unwrap().1);
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/main.rs:549:103
[INFO] [stdout]     |
[INFO] [stdout] 549 |             let max_next = adjacencies.iter().filter(|(v,_)| !vertices_visited.contains(*v)).max_by(|(u, w), (v, w2)| w.cmp(w2));
[INFO] [stdout]     |                                                                                                       ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:549:111
[INFO] [stdout]     |
[INFO] [stdout] 549 |             let max_next = adjacencies.iter().filter(|(v,_)| !vertices_visited.contains(*v)).max_by(|(u, w), (v, w2)| w.cmp(w2));
[INFO] [stdout]     |                                                                                                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacencies`
[INFO] [stdout]    --> src/main.rs:582:47
[INFO] [stdout]     |
[INFO] [stdout] 582 |             let visitor = |v: &Vertex<usize>, adjacencies: &HashMap<&Vertex<usize>, usize>| {
[INFO] [stdout]     |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/main.rs:579:57
[INFO] [stdout]     |
[INFO] [stdout] 579 |             let origin = vertices_visited.iter().find(|(u, v)| !*v).unwrap().0.clone();
[INFO] [stdout]     |                                                         ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `input` should have an upper case name
[INFO] [stdout]    --> src/main.rs:337:15
[INFO] [stdout]     |
[INFO] [stdout] 337 |         const input: &'static str =
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 337 -         const input: &'static str =
[INFO] [stdout] 337 +         const INPUT: &'static str =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stdout]    --> src/main.rs:503:61
[INFO] [stdout]     |
[INFO] [stdout] 503 | ...   .filter(|x| g.edges.contains_key(&Edge::new(0, x.clone().clone(), u.clone())) && g.edges.contains_key(&Edge::new(0, x.clone()...
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stdout]    --> src/main.rs:503:130
[INFO] [stdout]     |
[INFO] [stdout] 503 | ...clone(), u.clone())) && g.edges.contains_key(&Edge::new(0, x.clone().clone(), v.clone())))
[INFO] [stdout]     |                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stdout]    --> src/main.rs:511:61
[INFO] [stdout]     |
[INFO] [stdout] 511 | ...   .filter(|x| g.edges.contains_key(&Edge::new(0, x.clone().clone(), u.clone())) ^ g.edges.contains_key(&Edge::new(0, x.clone()....
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stdout]    --> src/main.rs:511:129
[INFO] [stdout]     |
[INFO] [stdout] 511 | ....clone(), u.clone())) ^ g.edges.contains_key(&Edge::new(0, x.clone().clone(), v.clone())))
[INFO] [stdout]     |                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stdout]    --> src/main.rs:556:60
[INFO] [stdout]     |
[INFO] [stdout] 556 | ...                   .map(|(v, w)| (v.clone().clone(), *w))
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `input` should have an upper case name
[INFO] [stdout]    --> src/main.rs:599:15
[INFO] [stdout]     |
[INFO] [stdout] 599 |         const input: &'static str =
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 599 -         const input: &'static str =
[INFO] [stdout] 599 +         const INPUT: &'static str =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `input` should have an upper case name
[INFO] [stdout]    --> src/main.rs:621:15
[INFO] [stdout]     |
[INFO] [stdout] 621 |         const input: &'static str =
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 621 -         const input: &'static str =
[INFO] [stdout] 621 +         const INPUT: &'static str =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.71s
[INFO] running `Command { std: "docker" "inspect" "e955876237f7fb37e43762476c9b5ed501ea81c67d6c073e6ddfefcefb37916a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e955876237f7fb37e43762476c9b5ed501ea81c67d6c073e6ddfefcefb37916a", kill_on_drop: false }`
[INFO] [stdout] e955876237f7fb37e43762476c9b5ed501ea81c67d6c073e6ddfefcefb37916a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 457d932154fdf5550e7e532835e18fba53dd86a2a4c72ac22ffb62c488676c43
[INFO] running `Command { std: "docker" "start" "-a" "457d932154fdf5550e7e532835e18fba53dd86a2a4c72ac22ffb62c488676c43", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]    --> src/main.rs:145:18
[INFO] [stderr]     |
[INFO] [stderr] 145 |             let (p, v) = pq.pop().unwrap();
[INFO] [stderr]     |                  ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/main.rs:201:23
[INFO] [stderr]     |
[INFO] [stderr] 201 |             .map(|(e, w)| e.clone()))
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/main.rs:273:21
[INFO] [stderr]     |
[INFO] [stderr] 273 |     let tvisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `adjacencies`
[INFO] [stderr]    --> src/main.rs:273:39
[INFO] [stderr]     |
[INFO] [stderr] 273 |     let tvisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stderr]     |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/main.rs:270:21
[INFO] [stderr]     |
[INFO] [stderr] 270 |     let svisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `adjacencies`
[INFO] [stderr]    --> src/main.rs:270:39
[INFO] [stderr]     |
[INFO] [stderr] 270 |     let svisitor = |v: &Vertex<&str>, adjacencies: &HashMap<&Vertex<&str>, usize>| {
[INFO] [stderr]     |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:464:13
[INFO] [stderr]     |
[INFO] [stderr] 464 |         let mut dc = g.edges.iter().fold(HashMap::<Vertex<usize>, usize>::new(), |mut h, (Edge(_, UnorderedPair((u, v))), _w)| {
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/main.rs:482:72
[INFO] [stderr]     |
[INFO] [stderr] 482 | ...ed.iter().enumerate().filter(|(v, scanned)| **scanned).map(|p| Vertex::new(p.0)).collect::<HashSet<Vertex<usize>>>();
[INFO] [stderr]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:501:13
[INFO] [stderr]     |
[INFO] [stderr] 501 |         let mut merged_edges: Vec<(Vertex<usize>, &Edge<usize>)> = g.vertices
[INFO] [stderr]     |             ----^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:509:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |         let mut adopted_edges: Vec<(Vertex<usize>, &Edge<usize>)> = g.vertices
[INFO] [stderr]     |             ----^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/main.rs:528:43
[INFO] [stderr]     |
[INFO] [stderr] 528 | ...   assert!(merged_edges.iter().all(|(x, e)| !g0.edges.contains_key(e)), "expected {:?} to not contain unmerged edges from {:?}",...
[INFO] [stderr]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/main.rs:515:27
[INFO] [stderr]     |
[INFO] [stderr] 515 |                 .map(|(e, w)| (x.clone(), e)))
[INFO] [stderr]     |                           ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/main.rs:507:27
[INFO] [stderr]     |
[INFO] [stderr] 507 |                 .map(|(e, w)| (x.clone(), e)))
[INFO] [stderr]     |                           ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/main.rs:558:66
[INFO] [stderr]     |
[INFO] [stderr] 558 |             next_max = (Some(equivalent_vertices.iter().map(|(v, w)| v.clone()).collect()), *max_next.unwrap().1);
[INFO] [stderr]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/main.rs:557:57
[INFO] [stderr]     |
[INFO] [stderr] 557 | ...                   .partition(|(v, w)| w == max_next.unwrap().1);
[INFO] [stderr]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `u`
[INFO] [stderr]    --> src/main.rs:549:103
[INFO] [stderr]     |
[INFO] [stderr] 549 |             let max_next = adjacencies.iter().filter(|(v,_)| !vertices_visited.contains(*v)).max_by(|(u, w), (v, w2)| w.cmp(w2));
[INFO] [stderr]     |                                                                                                       ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/main.rs:549:111
[INFO] [stderr]     |
[INFO] [stderr] 549 |             let max_next = adjacencies.iter().filter(|(v,_)| !vertices_visited.contains(*v)).max_by(|(u, w), (v, w2)| w.cmp(w2));
[INFO] [stderr]     |                                                                                                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `adjacencies`
[INFO] [stderr]    --> src/main.rs:582:47
[INFO] [stderr]     |
[INFO] [stderr] 582 |             let visitor = |v: &Vertex<usize>, adjacencies: &HashMap<&Vertex<usize>, usize>| {
[INFO] [stderr]     |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacencies`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `u`
[INFO] [stderr]    --> src/main.rs:579:57
[INFO] [stderr]     |
[INFO] [stderr] 579 |             let origin = vertices_visited.iter().find(|(u, v)| !*v).unwrap().0.clone();
[INFO] [stderr]     |                                                         ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `input` should have an upper case name
[INFO] [stderr]    --> src/main.rs:337:15
[INFO] [stderr]     |
[INFO] [stderr] 337 |         const input: &'static str =
[INFO] [stderr]     |               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 337 -         const input: &'static str =
[INFO] [stderr] 337 +         const INPUT: &'static str =
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stderr]    --> src/main.rs:503:61
[INFO] [stderr]     |
[INFO] [stderr] 503 | ...   .filter(|x| g.edges.contains_key(&Edge::new(0, x.clone().clone(), u.clone())) && g.edges.contains_key(&Edge::new(0, x.clone()...
[INFO] [stderr]     |                                                       ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stderr]    --> src/main.rs:503:130
[INFO] [stderr]     |
[INFO] [stderr] 503 | ...clone(), u.clone())) && g.edges.contains_key(&Edge::new(0, x.clone().clone(), v.clone())))
[INFO] [stderr]     |                                                                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stderr]    --> src/main.rs:511:61
[INFO] [stderr]     |
[INFO] [stderr] 511 | ...   .filter(|x| g.edges.contains_key(&Edge::new(0, x.clone().clone(), u.clone())) ^ g.edges.contains_key(&Edge::new(0, x.clone()....
[INFO] [stderr]     |                                                       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stderr]    --> src/main.rs:511:129
[INFO] [stderr]     |
[INFO] [stderr] 511 | ....clone(), u.clone())) ^ g.edges.contains_key(&Edge::new(0, x.clone().clone(), v.clone())))
[INFO] [stderr]     |                                                                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Vertex<usize>` instead of cloning the inner type
[INFO] [stderr]    --> src/main.rs:556:60
[INFO] [stderr]     |
[INFO] [stderr] 556 | ...                   .map(|(v, w)| (v.clone().clone(), *w))
[INFO] [stderr]     |                                       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `input` should have an upper case name
[INFO] [stderr]    --> src/main.rs:599:15
[INFO] [stderr]     |
[INFO] [stderr] 599 |         const input: &'static str =
[INFO] [stderr]     |               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 599 -         const input: &'static str =
[INFO] [stderr] 599 +         const INPUT: &'static str =
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `input` should have an upper case name
[INFO] [stderr]    --> src/main.rs:621:15
[INFO] [stderr]     |
[INFO] [stderr] 621 |         const input: &'static str =
[INFO] [stderr]     |               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 621 -         const input: &'static str =
[INFO] [stderr] 621 +         const INPUT: &'static str =
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `advent23` (bin "advent23" test) generated 27 warnings (run `cargo fix --bin "advent23" -p advent23 --tests` to apply 22 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/advent23-94b754aca670daba)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test::graphs_constructible_from_adjacency_lists ... ok
[INFO] [stdout] test test::parses_example_into_graph ... ok
[INFO] [stdout] test test::solves_exemplar ... ok
[INFO] [stdout] test test::finds_most_tightly_connected_vertex ... ok
[INFO] [stdout] test test::stoer_wagner_finds_a_cut ... ok
[INFO] [stdout] test test::maximum_adjacency_search_traverses_graph_in_correct_order ... ok
[INFO] [stdout] test test::graph_can_merge_two_vertices ... ok
[INFO] [stdout] test test::solves_problem has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "457d932154fdf5550e7e532835e18fba53dd86a2a4c72ac22ffb62c488676c43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "457d932154fdf5550e7e532835e18fba53dd86a2a4c72ac22ffb62c488676c43", kill_on_drop: false }`
[INFO] [stdout] 457d932154fdf5550e7e532835e18fba53dd86a2a4c72ac22ffb62c488676c43
