[INFO] cloning repository https://github.com/jmountain-hmrc/json-investigator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jmountain-hmrc/json-investigator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmountain-hmrc%2Fjson-investigator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmountain-hmrc%2Fjson-investigator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c81808fda2db29c2a29d4c54adc8d5f3d94b896
[INFO] testing jmountain-hmrc/json-investigator against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmountain-hmrc%2Fjson-investigator" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jmountain-hmrc/json-investigator
[INFO] finished tweaking git repo https://github.com/jmountain-hmrc/json-investigator
[INFO] tweaked toml for git repo https://github.com/jmountain-hmrc/json-investigator written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jmountain-hmrc/json-investigator on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jmountain-hmrc/json-investigator 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_json v1.0.39
[INFO] [stderr]   Downloaded unicode-xid v0.1.0
[INFO] [stderr]   Downloaded itoa v0.4.4
[INFO] [stderr]   Downloaded serde v1.0.91
[INFO] [stderr]   Downloaded ryu v0.2.8
[INFO] [stderr]   Downloaded proc-macro2 v0.4.30
[INFO] [stderr]   Downloaded serde_derive v1.0.91
[INFO] [stderr]   Downloaded quote v0.6.12
[INFO] [stderr]   Downloaded syn v0.15.34
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3
[INFO] running `Command { std: "docker" "start" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.34
[INFO] [stderr]    Compiling serde v1.0.91
[INFO] [stderr]    Compiling ryu v0.2.8
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling serde_derive v1.0.91
[INFO] [stderr]    Compiling serde_json v1.0.39
[INFO] [stderr]    Compiling json_scientist v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Error`, and `Write`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Write, BufReader, BufRead, Error};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/main.rs:72:56
[INFO] [stdout]    |
[INFO] [stdout] 72 |         println!("Median of key: {} - {}", key, num_tb[(num_tb.len() / 2)])
[INFO] [stdout]    |                                                        ^                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -         println!("Median of key: {} - {}", key, num_tb[(num_tb.len() / 2)])
[INFO] [stdout] 72 +         println!("Median of key: {} - {}", key, num_tb[num_tb.len() / 2])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Sum`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Sum;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findAveragesOfNumberIntersections` should have a snake case name
[INFO] [stdout]   --> src/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn findAveragesOfNumberIntersections(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_averages_of_number_intersections`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findMedianOfNumberIntersections` should have a snake case name
[INFO] [stdout]   --> src/main.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn findMedianOfNumberIntersections(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_median_of_number_intersections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findUniqueKeys` should have a snake case name
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn findUniqueKeys(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_unique_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findKeyWithAllSame` should have a snake case name
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn findKeyWithAllSame(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_key_with_all_same`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.95s
[INFO] running `Command { std: "docker" "inspect" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling json_scientist v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Error`, and `Write`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Write, BufReader, BufRead, Error};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/main.rs:72:56
[INFO] [stdout]    |
[INFO] [stdout] 72 |         println!("Median of key: {} - {}", key, num_tb[(num_tb.len() / 2)])
[INFO] [stdout]    |                                                        ^                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -         println!("Median of key: {} - {}", key, num_tb[(num_tb.len() / 2)])
[INFO] [stdout] 72 +         println!("Median of key: {} - {}", key, num_tb[num_tb.len() / 2])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Sum`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Sum;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findAveragesOfNumberIntersections` should have a snake case name
[INFO] [stdout]   --> src/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn findAveragesOfNumberIntersections(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_averages_of_number_intersections`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findMedianOfNumberIntersections` should have a snake case name
[INFO] [stdout]   --> src/main.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn findMedianOfNumberIntersections(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_median_of_number_intersections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findUniqueKeys` should have a snake case name
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn findUniqueKeys(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_unique_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `findKeyWithAllSame` should have a snake case name
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn findKeyWithAllSame(key: &String, vals: &Vec<Value>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_key_with_all_same`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] running `Command { std: "docker" "inspect" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/main.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `Error`, and `Write`
[INFO] [stderr]  --> src/main.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::{Write, BufReader, BufRead, Error};
[INFO] [stderr]   |               ^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around index expression
[INFO] [stderr]   --> src/main.rs:72:56
[INFO] [stderr]    |
[INFO] [stderr] 72 |         println!("Median of key: {} - {}", key, num_tb[(num_tb.len() / 2)])
[INFO] [stderr]    |                                                        ^                ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 72 -         println!("Median of key: {} - {}", key, num_tb[(num_tb.len() / 2)])
[INFO] [stderr] 72 +         println!("Median of key: {} - {}", key, num_tb[num_tb.len() / 2])
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::Sum`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::iter::Sum;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `findAveragesOfNumberIntersections` should have a snake case name
[INFO] [stderr]   --> src/main.rs:48:4
[INFO] [stderr]    |
[INFO] [stderr] 48 | fn findAveragesOfNumberIntersections(key: &String, vals: &Vec<Value>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_averages_of_number_intersections`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `findMedianOfNumberIntersections` should have a snake case name
[INFO] [stderr]   --> src/main.rs:61:4
[INFO] [stderr]    |
[INFO] [stderr] 61 | fn findMedianOfNumberIntersections(key: &String, vals: &Vec<Value>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_median_of_number_intersections`
[INFO] [stderr] 
[INFO] [stderr] warning: function `findUniqueKeys` should have a snake case name
[INFO] [stderr]   --> src/main.rs:76:4
[INFO] [stderr]    |
[INFO] [stderr] 76 | fn findUniqueKeys(key: &String, vals: &Vec<Value>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_unique_keys`
[INFO] [stderr] 
[INFO] [stderr] warning: function `findKeyWithAllSame` should have a snake case name
[INFO] [stderr]   --> src/main.rs:82:4
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn findKeyWithAllSame(key: &String, vals: &Vec<Value>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_key_with_all_same`
[INFO] [stderr] 
[INFO] [stderr] warning: `json_scientist` (bin "json_scientist" test) generated 9 warnings (run `cargo fix --bin "json_scientist" -p json_scientist --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/json_scientist-3cd467c826fe22a4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3", kill_on_drop: false }`
[INFO] [stdout] 6ff7b165ec9d15c292008197db15129dc924ab5b55e9e7166191c3d755bc30d3
