[INFO] cloning repository https://github.com/Eeshwar-Krishnan/predictFTC
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Eeshwar-Krishnan/predictFTC" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEeshwar-Krishnan%2FpredictFTC", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEeshwar-Krishnan%2FpredictFTC'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 25d8d23c2128690589a2f73bd7fb91bec204ba63
[INFO] checking Eeshwar-Krishnan/predictFTC against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEeshwar-Krishnan%2FpredictFTC" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Eeshwar-Krishnan/predictFTC
[INFO] finished tweaking git repo https://github.com/Eeshwar-Krishnan/predictFTC
[INFO] tweaked toml for git repo https://github.com/Eeshwar-Krishnan/predictFTC written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Eeshwar-Krishnan/predictFTC on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Eeshwar-Krishnan/predictFTC 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-rusqlite v0.3.0
[INFO] [stderr]   Downloaded ctor v0.1.26
[INFO] [stderr]   Downloaded sval v1.0.0-alpha.5
[INFO] [stderr]   Downloaded serde_fmt v1.0.1
[INFO] [stderr]   Downloaded cc v1.0.74
[INFO] [stderr]   Downloaded nonzero_ext v0.2.0
[INFO] [stderr]   Downloaded cxxbridge-flags v1.0.80
[INFO] [stderr]   Downloaded hashlink v0.8.1
[INFO] [stderr]   Downloaded async-session v2.0.1
[INFO] [stderr]   Downloaded async-sse v4.1.0
[INFO] [stderr]   Downloaded quanta v0.4.1
[INFO] [stderr]   Downloaded hmac v0.10.1
[INFO] [stderr]   Downloaded route-recognizer v0.2.0
[INFO] [stderr]   Downloaded async-dup v1.2.2
[INFO] [stderr]   Downloaded link-cplusplus v1.0.7
[INFO] [stderr]   Downloaded async-global-executor v2.3.1
[INFO] [stderr]   Downloaded hkdf v0.10.0
[INFO] [stderr]   Downloaded simple-mutex v1.1.5
[INFO] [stderr]   Downloaded scratch v1.0.2
[INFO] [stderr]   Downloaded crypto-mac v0.10.1
[INFO] [stderr]   Downloaded ctr v0.6.0
[INFO] [stderr]   Downloaded async-trait v0.1.58
[INFO] [stderr]   Downloaded ipnet v2.5.1
[INFO] [stderr]   Downloaded async-process v1.5.0
[INFO] [stderr]   Downloaded async-h1 v2.3.3
[INFO] [stderr]   Downloaded polling v2.4.0
[INFO] [stderr]   Downloaded async-io v1.10.0
[INFO] [stderr]   Downloaded serde_qs v0.8.5
[INFO] [stderr]   Downloaded openssl-sys v0.9.77
[INFO] [stderr]   Downloaded security-framework v2.7.0
[INFO] [stderr]   Downloaded cxx-build v1.0.80
[INFO] [stderr]   Downloaded governor v0.3.2
[INFO] [stderr]   Downloaded reqwest v0.11.12
[INFO] [stderr]   Downloaded aes-gcm v0.8.0
[INFO] [stderr]   Downloaded chrono v0.4.22
[INFO] [stderr]   Downloaded hyper v0.14.22
[INFO] [stderr]   Downloaded cxx v1.0.80
[INFO] [stderr]   Downloaded openssl v0.10.42
[INFO] [stderr]   Downloaded serde_json v1.0.87
[INFO] [stderr]   Downloaded tide v0.16.0
[INFO] [stderr]   Downloaded rusqlite v0.28.0
[INFO] [stderr]   Downloaded nalgebra v0.31.3
[INFO] [stderr]   Downloaded cxxbridge-macro v1.0.80
[INFO] [stderr]   Downloaded http-client v6.5.3
[INFO] [stderr]   Downloaded infer v0.2.3
[INFO] [stderr]   Downloaded femme v2.2.1
[INFO] [stderr]   Downloaded tokio v1.21.2
[INFO] [stderr]   Downloaded csv v1.1.6
[INFO] [stderr]   Downloaded tide-governor v1.0.3
[INFO] [stderr]   Downloaded clokwerk v0.4.0-rc1
[INFO] [stderr]   Downloaded http-types v2.12.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.25.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c6c294936210a668f5b81e234e8a7deaf21f6af34601c338ed009c6f726163b
[INFO] running `Command { std: "docker" "start" "-a" "6c6c294936210a668f5b81e234e8a7deaf21f6af34601c338ed009c6f726163b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c6c294936210a668f5b81e234e8a7deaf21f6af34601c338ed009c6f726163b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c6c294936210a668f5b81e234e8a7deaf21f6af34601c338ed009c6f726163b", kill_on_drop: false }`
[INFO] [stdout] 6c6c294936210a668f5b81e234e8a7deaf21f6af34601c338ed009c6f726163b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb5d11e0fa47a20d81b8e386b60cbdc1edd89b5d42193cff5d21cbf64273dfbe
[INFO] running `Command { std: "docker" "start" "-a" "cb5d11e0fa47a20d81b8e386b60cbdc1edd89b5d42193cff5d21cbf64273dfbe", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]    Compiling serde_derive v1.0.147
[INFO] [stderr]    Compiling serde v1.0.147
[INFO] [stderr]    Compiling erased-serde v0.3.23
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.9
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling cc v1.0.74
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking fastrand v1.8.0
[INFO] [stderr]     Checking concurrent-queue v1.2.4
[INFO] [stderr]    Compiling polling v2.4.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling async-io v1.10.0
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]     Checking percent-encoding v2.2.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]     Checking futures-sink v0.3.25
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]    Compiling crossbeam-utils v0.8.12
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]     Checking num_cpus v1.14.0
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling serde_json v1.0.87
[INFO] [stderr]    Compiling parking_lot_core v0.9.4
[INFO] [stderr]     Checking async-task v4.3.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking async-channel v1.7.1
[INFO] [stderr]    Compiling async-process v1.5.0
[INFO] [stderr]     Checking cpuid-bool v0.2.0
[INFO] [stderr]    Compiling const_fn v0.4.9
[INFO] [stderr]     Checking bytes v1.2.1
[INFO] [stderr]     Checking polyval v0.4.5
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking signal-hook v0.3.14
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.10.1
[INFO] [stderr]     Checking form_urlencoded v1.1.0
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]     Checking unicode-bidi v0.3.8
[INFO] [stderr]     Checking async-lock v2.6.0
[INFO] [stderr]     Checking blocking v1.2.0
[INFO] [stderr]     Checking async-executor v1.4.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking hmac v0.10.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking ghash v0.3.1
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking aead v0.3.2
[INFO] [stderr]    Compiling cookie v0.14.4
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking hkdf v0.10.0
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]    Compiling openssl v0.10.42
[INFO] [stderr]     Checking aes-gcm v0.8.0
[INFO] [stderr]    Compiling async-trait v0.1.58
[INFO] [stderr]     Checking infer v0.2.3
[INFO] [stderr]     Checking http v0.2.8
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]    Compiling openssl-sys v0.9.77
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling hashbrown v0.8.2
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking iana-time-zone v0.1.53
[INFO] [stderr]    Compiling libsqlite3-sys v0.25.2
[INFO] [stderr]     Checking simple-mutex v1.1.5
[INFO] [stderr]     Checking ahash v0.3.8
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]     Checking safe_arch v0.6.0
[INFO] [stderr]     Checking async-dup v1.2.2
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking num-complex v0.4.2
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking dashmap v4.0.2
[INFO] [stderr]     Checking quanta v0.4.1
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking nonzero_ext v0.2.0
[INFO] [stderr]     Checking indexmap v1.9.1
[INFO] [stderr]     Checking hashlink v0.8.1
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]     Checking route-recognizer v0.2.0
[INFO] [stderr]    Compiling paste v1.0.9
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking wide v0.7.5
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking ipnet v2.5.1
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking simba v0.7.3
[INFO] [stderr]    Compiling ctor v0.1.26
[INFO] [stderr]    Compiling futures-macro v0.3.25
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]     Checking pin-project v1.0.12
[INFO] [stderr]     Checking thiserror v1.0.37
[INFO] [stderr]     Checking nalgebra v0.31.3
[INFO] [stderr]     Checking futures-executor v0.3.25
[INFO] [stderr]     Checking futures v0.3.25
[INFO] [stderr]     Checking governor v0.3.2
[INFO] [stderr]     Checking sval v1.0.0-alpha.5
[INFO] [stderr]     Checking serde_fmt v1.0.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking url v2.3.1
[INFO] [stderr]     Checking serde_qs v0.8.5
[INFO] [stderr]     Checking chrono v0.4.22
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking femme v2.2.1
[INFO] [stderr]     Checking clokwerk v0.4.0-rc1
[INFO] [stderr]     Checking async-global-executor v2.3.1
[INFO] [stderr]     Checking async-std v1.12.0
[INFO] [stderr]     Checking rusqlite v0.28.0
[INFO] [stderr]     Checking async-session v2.0.1
[INFO] [stderr]     Checking tokio-util v0.7.4
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking tokio-rusqlite v0.3.0
[INFO] [stderr]     Checking h2 v0.3.15
[INFO] [stderr]     Checking async-sse v4.1.0
[INFO] [stderr]     Checking async-h1 v2.3.3
[INFO] [stderr]     Checking http-client v6.5.3
[INFO] [stderr]     Checking tide v0.16.0
[INFO] [stderr]     Checking tide-governor v1.0.3
[INFO] [stderr]     Checking hyper v0.14.22
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.12
[INFO] [stderr]     Checking PredictionBackendV2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]  --> src/main.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{path::Path, fs, any::Any, time::Duration};
[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: `clokwerk::Interval::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use clokwerk::Interval::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]  --> src/database.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusqlite::{params, Result};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/database.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 return (Ok(1));
[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] 54 -                 return (Ok(1));
[INFO] [stdout] 54 +                 return Ok(1) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/database.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |             match(partial){
[INFO] [stdout]    |                  ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -             match(partial){
[INFO] [stdout] 69 +             match partial {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/database.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |                         return (Ok(1));
[INFO] [stdout]    |                                ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                         return (Ok(1));
[INFO] [stdout] 75 +                         return Ok(1) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/database.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         return (Ok(1));
[INFO] [stdout]    |                                ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -                         return (Ok(1));
[INFO] [stdout] 84 +                         return Ok(1) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/database.rs:104:24
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 return (Ok(1));
[INFO] [stdout]     |                        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -                 return (Ok(1));
[INFO] [stdout] 104 +                 return Ok(1) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/database.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 return (Ok(1));
[INFO] [stdout]     |                        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -                 return (Ok(1));
[INFO] [stdout] 139 +                 return Ok(1) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::blocking`
[INFO] [stdout]  --> src/scrapers/scraper_2022.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::blocking;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result as serde_result` and `Value`
[INFO] [stdout]  --> src/scrapers/scraper_2022.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::{Result as serde_result, Value};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `main`
[INFO] [stdout]  --> src/scrapers/scraper_2022.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{main, API_KEY};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_2022_Alliance` should have an upper camel case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Match_2022_Alliance{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Match2022Alliance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_Results_2022` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct Match_Results_2022{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MatchResults2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_Result_Response_2022` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct Match_Result_Response_2022{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MatchResultResponse2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_2022` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Match_2022{
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `Match2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_2022_Results` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct Match_2022_Results{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Match2022Results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Teams_Response` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Teams_Response{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TeamsResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:219:11
[INFO] [stdout]     |
[INFO] [stdout] 219 | ... if((chrono::offset::Utc::now().timestamp_millis() - DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis()).abs() > (3.6e+6 as i64)){
[INFO] [stdout]     |       ^                                                                                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -         if((chrono::offset::Utc::now().timestamp_millis() - DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis()).abs() > (3.6e+6 as i64)){
[INFO] [stdout] 219 +         if (chrono::offset::Utc::now().timestamp_millis() - DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis()).abs() > (3.6e+6 as i64) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:254:46
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let events_to_scrape: Vec<String> = match(eventslist){
[INFO] [stdout]     |                                              ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 254 -     let events_to_scrape: Vec<String> = match(eventslist){
[INFO] [stdout] 254 +     let events_to_scrape: Vec<String> = match eventslist {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:262:11
[INFO] [stdout]     |
[INFO] [stdout] 262 |         if(idx % 25 == 0){
[INFO] [stdout]     |           ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 262 -         if(idx % 25 == 0){
[INFO] [stdout] 262 +         if idx % 25 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:279:11
[INFO] [stdout]     |
[INFO] [stdout] 279 |         if(serde_result.is_err()){
[INFO] [stdout]     |           ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 279 -         if(serde_result.is_err()){
[INFO] [stdout] 279 +         if serde_result.is_err() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:293:11
[INFO] [stdout]     |
[INFO] [stdout] 293 |         if(numResults != numMatches){
[INFO] [stdout]     |           ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 293 -         if(numResults != numMatches){
[INFO] [stdout] 293 +         if numResults != numMatches {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:294:15
[INFO] [stdout]     |
[INFO] [stdout] 294 |             if(eventCode == "AUCAQ"){
[INFO] [stdout]     |               ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -             if(eventCode == "AUCAQ"){
[INFO] [stdout] 294 +             if eventCode == "AUCAQ" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:323:19
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 if(index % 50 == 0){
[INFO] [stdout]     |                   ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 323 -                 if(index % 50 == 0){
[INFO] [stdout] 323 +                 if index % 50 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:333:23
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     if(eventcode == "USCHSCHQ"){
[INFO] [stdout]     |                       ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 333 -                     if(eventcode == "USCHSCHQ"){
[INFO] [stdout] 333 +                     if eventcode == "USCHSCHQ" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:347:36
[INFO] [stdout]     |
[INFO] [stdout] 347 | ...                   if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 347 -                                 if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 347 +                                 if blue.robot1Auto == "NONE"  {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:347:77
[INFO] [stdout]     |
[INFO] [stdout] 347 | ...                   if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                   ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 347 -                                 if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 347 +                                 if (blue.robot1Auto == "NONE") {0} else {if blue.robot1Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:348:36
[INFO] [stdout]     |
[INFO] [stdout] 348 | ...                   if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 348 -                                 if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 348 +                                 if blue.robot2Auto == "NONE"  {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:348:77
[INFO] [stdout]     |
[INFO] [stdout] 348 | ...                   if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                   ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 348 -                                 if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 348 +                                 if (blue.robot2Auto == "NONE") {0} else {if blue.robot2Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:447:36
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...                   if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 447 -                                 if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 447 +                                 if red.robot1Auto == "NONE"  {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:447:76
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...                   if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                  ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 447 -                                 if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 447 +                                 if (red.robot1Auto == "NONE") {0} else {if red.robot1Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:448:36
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 448 -                                 if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 448 +                                 if red.robot2Auto == "NONE"  {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:448:76
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                  ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 448 -                                 if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 448 +                                 if (red.robot2Auto == "NONE") {0} else {if red.robot2Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:539:7
[INFO] [stdout]     |
[INFO] [stdout] 539 |     if(!updateTeams){
[INFO] [stdout]     |       ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 539 -     if(!updateTeams){
[INFO] [stdout] 539 +     if !updateTeams {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:556:11
[INFO] [stdout]     |
[INFO] [stdout] 556 |         if(i%10 == 0){
[INFO] [stdout]     |           ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 556 -         if(i%10 == 0){
[INFO] [stdout] 556 +         if i%10 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:568:163
[INFO] [stdout]     |
[INFO] [stdout] 568 | ...m.teamNumber.to_string(), team.nameShort.unwrap(), match(team.stateProv){
[INFO] [stdout]     |                                                            ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 568 -                 conn.execute("INSERT INTO teams2022 (teamNum, teamName, region) VALUES (?1, ?2, ?3)", [team.teamNumber.to_string(), team.nameShort.unwrap(), match(team.stateProv){
[INFO] [stdout] 568 +                 conn.execute("INSERT INTO teams2022 (teamNum, teamName, region) VALUES (?1, ?2, ?3)", [team.teamNumber.to_string(), team.nameShort.unwrap(), match team.stateProv {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:580:7
[INFO] [stdout]     |
[INFO] [stdout] 580 |     if(eventsExist){
[INFO] [stdout]     |       ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 580 -     if(eventsExist){
[INFO] [stdout] 580 +     if eventsExist {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:597:10
[INFO] [stdout]     |
[INFO] [stdout] 597 |     match(eventcode) {
[INFO] [stdout]     |          ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 597 -     match(eventcode) {
[INFO] [stdout] 597 +     match eventcode  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:607:11
[INFO] [stdout]     |
[INFO] [stdout] 607 |     match (team){
[INFO] [stdout]     |           ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 607 -     match (team){
[INFO] [stdout] 607 +     match team {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:621:11
[INFO] [stdout]     |
[INFO] [stdout] 621 |         if(codeFound){
[INFO] [stdout]     |           ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 621 -         if(codeFound){
[INFO] [stdout] 621 +         if codeFound {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:622:15
[INFO] [stdout]     |
[INFO] [stdout] 622 |             if(teamFound){
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 622 -             if(teamFound){
[INFO] [stdout] 622 +             if teamFound {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:636:39
[INFO] [stdout]     |
[INFO] [stdout] 636 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 636 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 636 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:636:109
[INFO] [stdout]     |
[INFO] [stdout] 636 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 636 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 636 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:637:39
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 637 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 637 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:637:109
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 637 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 637 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:683:39
[INFO] [stdout]     |
[INFO] [stdout] 683 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 683 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 683 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:683:109
[INFO] [stdout]     |
[INFO] [stdout] 683 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 683 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 683 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:684:39
[INFO] [stdout]     |
[INFO] [stdout] 684 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 684 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:684:109
[INFO] [stdout]     |
[INFO] [stdout] 684 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 684 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:718:15
[INFO] [stdout]     |
[INFO] [stdout] 718 |             if(teamFound){
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 718 -             if(teamFound){
[INFO] [stdout] 718 +             if teamFound {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:732:39
[INFO] [stdout]     |
[INFO] [stdout] 732 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 732 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 732 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:732:109
[INFO] [stdout]     |
[INFO] [stdout] 732 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 732 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 732 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:733:39
[INFO] [stdout]     |
[INFO] [stdout] 733 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 733 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 733 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:733:109
[INFO] [stdout]     |
[INFO] [stdout] 733 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 733 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 733 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:779:39
[INFO] [stdout]     |
[INFO] [stdout] 779 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 779 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 779 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:779:109
[INFO] [stdout]     |
[INFO] [stdout] 779 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 779 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 779 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:780:39
[INFO] [stdout]     |
[INFO] [stdout] 780 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 780 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 780 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:780:109
[INFO] [stdout]     |
[INFO] [stdout] 780 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 780 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 780 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:822:11
[INFO] [stdout]     |
[INFO] [stdout] 822 |         if(itemval == "MY_CONE"){
[INFO] [stdout]     |           ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 822 -         if(itemval == "MY_CONE"){
[INFO] [stdout] 822 +         if itemval == "MY_CONE" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:824:17
[INFO] [stdout]     |
[INFO] [stdout] 824 |         }else if(itemval == "OTHER_CONE"){
[INFO] [stdout]     |                 ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 824 -         }else if(itemval == "OTHER_CONE"){
[INFO] [stdout] 824 +         }else if itemval == "OTHER_CONE" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:835:11
[INFO] [stdout]     |
[INFO] [stdout] 835 |         if(c == 'm'){
[INFO] [stdout]     |           ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 835 -         if(c == 'm'){
[INFO] [stdout] 835 +         if c == 'm' {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_rusqlite::Connection`
[INFO] [stdout]  --> src/insights/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tokio_rusqlite::Connection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `hash::Hash`
[INFO] [stdout]  --> src/insights/insights_2022.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, clone, path::Path, hash::Hash};
[INFO] [stdout]   |                                 ^^^^^              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rows`
[INFO] [stdout]  --> src/insights/insights_2022.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rusqlite::{Statement, Rows};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/insights/insights_2022.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let events = match(eventslist){
[INFO] [stdout]    |                       ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -     let events = match(eventslist){
[INFO] [stdout] 74 +     let events = match eventslist {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/insights/insights_2022.rs:99:24
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let map = match(computeEventConeComponents(event.clone(), connect).await){
[INFO] [stdout]    |                        ^                                                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         let map = match(computeEventConeComponents(event.clone(), connect).await){
[INFO] [stdout] 99 +         let map = match computeEventConeComponents(event.clone(), connect).await {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     if(bestTeamMap.contains_key(teamKey)){
[INFO] [stdout]     |                       ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 -                     if(bestTeamMap.contains_key(teamKey)){
[INFO] [stdout] 149 +                     if bestTeamMap.contains_key(teamKey) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |                         if(teamMap.get(teamKey).unwrap().get(i).unwrap() > bestTeamMap.get(teamKey).unwrap().get(i).unwrap()){
[INFO] [stdout]     |                           ^                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -                         if(teamMap.get(teamKey).unwrap().get(i).unwrap() > bestTeamMap.get(teamKey).unwrap().get(i).unwrap()){
[INFO] [stdout] 150 +                         if teamMap.get(teamKey).unwrap().get(i).unwrap() > bestTeamMap.get(teamKey).unwrap().get(i).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:193:11
[INFO] [stdout]     |
[INFO] [stdout] 193 |         if(ind1 % 25 == 0){
[INFO] [stdout]     |           ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 193 -         if(ind1 % 25 == 0){
[INFO] [stdout] 193 +         if ind1 % 25 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 |             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 221 -             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout] 221 +             if team1arr.get(0).unwrap() > team2arr.get(0).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 224 -             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout] 224 +             if team1arr.get(1).unwrap() > team2arr.get(1).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout] 227 +             if team1arr.get(2).unwrap() > team2arr.get(2).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:230:15
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout] 230 +             if team1arr.get(3).unwrap() > team2arr.get(3).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:233:15
[INFO] [stdout]     |
[INFO] [stdout] 233 |             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 233 -             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout] 233 +             if team1arr.get(4).unwrap() > team2arr.get(4).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 236 -             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout] 236 +             if team1arr.get(5).unwrap() > team2arr.get(5).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 |             if(districtMap.get(&team1).unwrap() != districtMap.get(team2).unwrap()){
[INFO] [stdout]     |               ^                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 240 -             if(districtMap.get(&team1).unwrap() != districtMap.get(team2).unwrap()){
[INFO] [stdout] 240 +             if districtMap.get(&team1).unwrap() != districtMap.get(team2).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 244 -             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout] 244 +             if team1arr.get(0).unwrap() > team2arr.get(0).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:247:15
[INFO] [stdout]     |
[INFO] [stdout] 247 |             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 247 -             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout] 247 +             if team1arr.get(1).unwrap() > team2arr.get(1).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 250 -             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout] 250 +             if team1arr.get(2).unwrap() > team2arr.get(2).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 253 -             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout] 253 +             if team1arr.get(3).unwrap() > team2arr.get(3).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:256:15
[INFO] [stdout]     |
[INFO] [stdout] 256 |             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 256 -             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout] 256 +             if team1arr.get(4).unwrap() > team2arr.get(4).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:259:15
[INFO] [stdout]     |
[INFO] [stdout] 259 |             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout] 259 +             if team1arr.get(5).unwrap() > team2arr.get(5).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:366:39
[INFO] [stdout]     |
[INFO] [stdout] 366 |                         let index = if(alliance == "Red") {1 + ((i * 5) + j)} else {1 + ((i * 5) + (4-j))};
[INFO] [stdout]     |                                       ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 366 -                         let index = if(alliance == "Red") {1 + ((i * 5) + j)} else {1 + ((i * 5) + (4-j))};
[INFO] [stdout] 366 +                         let index = if alliance == "Red"  {1 + ((i * 5) + j)} else {1 + ((i * 5) + (4-j))};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:371:31
[INFO] [stdout]     |
[INFO] [stdout] 371 | ...                   if(c == 'm'){
[INFO] [stdout]     |                         ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 371 -                             if(c == 'm'){
[INFO] [stdout] 371 +                             if c == 'm' {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:376:34
[INFO] [stdout]     |
[INFO] [stdout] 376 |                         tmparray[((i * 5) + j)] += count;
[INFO] [stdout]     |                                  ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 376 -                         tmparray[((i * 5) + j)] += count;
[INFO] [stdout] 376 +                         tmparray[(i * 5) + j ] += count;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:387:29
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout]     |                             ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 387 -         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout] 387 +         let mut oprc = match result.solve(&scorematrix) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:458:29
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout]     |                             ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 458 -         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout] 458 +         let mut oprc = match result.solve(&scorematrix) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/insights/insights_2022.rs:487:20
[INFO] [stdout]     |
[INFO] [stdout] 487 |             return (Ok(1));
[INFO] [stdout]     |                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 487 -             return (Ok(1));
[INFO] [stdout] 487 +             return Ok(1) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:522:7
[INFO] [stdout]     |
[INFO] [stdout] 522 |     if(!districts.contains_key(&team.parse::<i32>().unwrap())){
[INFO] [stdout]     |       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 522 -     if(!districts.contains_key(&team.parse::<i32>().unwrap())){
[INFO] [stdout] 522 +     if !districts.contains_key(&team.parse::<i32>().unwrap()) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:551:24
[INFO] [stdout]     |
[INFO] [stdout] 551 |         let row = match(rows2.next().unwrap()){
[INFO] [stdout]     |                        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 551 -         let row = match(rows2.next().unwrap()){
[INFO] [stdout] 551 +         let row = match rows2.next().unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/insights/insights_2022.rs:624:84
[INFO] [stdout]     |
[INFO] [stdout] 624 |         }).unwrap().collect::<Result<Vec<EventCones>, rusqlite::Error>>().unwrap();;
[INFO] [stdout]     |                                                                                    ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]  --> src/insights/mod.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |     if(year == "2022"){
[INFO] [stdout]   |       ^              ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 6 -     if(year == "2022"){
[INFO] [stdout] 6 +     if year == "2022" {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/insights/mod.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |     if(year == "2022"){
[INFO] [stdout]    |       ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -     if(year == "2022"){
[INFO] [stdout] 13 +     if year == "2022" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/insights/mod.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |     if(year == "2022"){
[INFO] [stdout]    |       ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     if(year == "2022"){
[INFO] [stdout] 20 +     if year == "2022" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Hybrid_Match_Response` should have an upper camel case name
[INFO] [stdout]  --> src/predictors/PowerPlay/basic_elo_2022.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Hybrid_Match_Response{
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HybridMatchResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Hybrid_Match` should have an upper camel case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Hybrid_Match{
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HybridMatch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Scheduled_Match_Team` should have an upper camel case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct Scheduled_Match_Team{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScheduledMatchTeam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 |         if(!ELOs.contains_key(&hybrid_match.teams.get(0).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -         if(!ELOs.contains_key(&hybrid_match.teams.get(0).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 73 +         if !ELOs.contains_key(&hybrid_match.teams.get(0).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 |         if(!ELOs.contains_key(&hybrid_match.teams.get(1).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -         if(!ELOs.contains_key(&hybrid_match.teams.get(1).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 76 +         if !ELOs.contains_key(&hybrid_match.teams.get(1).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 |         if(!ELOs.contains_key(&hybrid_match.teams.get(2).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -         if(!ELOs.contains_key(&hybrid_match.teams.get(2).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 79 +         if !ELOs.contains_key(&hybrid_match.teams.get(2).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 |         if(!ELOs.contains_key(&hybrid_match.teams.get(3).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -         if(!ELOs.contains_key(&hybrid_match.teams.get(3).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 82 +         if !ELOs.contains_key(&hybrid_match.teams.get(3).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |             if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout]    |               ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -             if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout] 92 +             if team.station.clone().unwrap().starts_with("Red") {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         if(hybrid_match.scoreBlueFinal.is_some()){
[INFO] [stdout]     |           ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -         if(hybrid_match.scoreBlueFinal.is_some()){
[INFO] [stdout] 104 +         if hybrid_match.scoreBlueFinal.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if(hybrid_match.redWins){
[INFO] [stdout]     |               ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -             if(hybrid_match.redWins){
[INFO] [stdout] 110 +             if hybrid_match.redWins {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout]     |                       ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout] 113 +                     if team.station.clone().unwrap().starts_with("Red") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:120:22
[INFO] [stdout]     |
[INFO] [stdout] 120 |             }else if (hybrid_match.blueWins){
[INFO] [stdout]     |                      ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             }else if (hybrid_match.blueWins){
[INFO] [stdout] 120 +             }else if hybrid_match.blueWins {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:123:23
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout]     |                       ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout] 123 +                     if team.station.clone().unwrap().starts_with("Red") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 predictedcorrect: if(hybrid_match.blueWins){
[INFO] [stdout]     |                                     ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -                 predictedcorrect: if(hybrid_match.blueWins){
[INFO] [stdout] 148 +                 predictedcorrect: if hybrid_match.blueWins {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Predicted_Match` should have an upper camel case name
[INFO] [stdout]  --> src/predictors/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Predicted_Match{
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PredictedMatch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Predicted_Matches` should have an upper camel case name
[INFO] [stdout]   --> src/predictors/mod.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Predicted_Matches{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PredictedMatches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/mod.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 |     if(year == "2022"){
[INFO] [stdout]    |       ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -     if(year == "2022"){
[INFO] [stdout] 26 +     if year == "2022" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 -     match(req.param("year")){
[INFO] [stdout] 101 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |             if(year == "2022"){
[INFO] [stdout]     |               ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 103 -             if(year == "2022"){
[INFO] [stdout] 103 +             if year == "2022" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 -     match(req.param("year")){
[INFO] [stdout] 119 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |             match(req.param("team")){
[INFO] [stdout]     |                  ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             match(req.param("team")){
[INFO] [stdout] 121 +             match req.param("team") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     match(team.parse::<i32>()){
[INFO] [stdout]     |                          ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -                     match(team.parse::<i32>()){
[INFO] [stdout] 123 +                     match team.parse::<i32>() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:146:10
[INFO] [stdout]     |
[INFO] [stdout] 146 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 146 -     match(req.param("year")){
[INFO] [stdout] 146 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 148 |             match(req.param("team")){
[INFO] [stdout]     |                  ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -             match(req.param("team")){
[INFO] [stdout] 148 +             match req.param("team") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:150:26
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     match(team.parse::<i32>()){
[INFO] [stdout]     |                          ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -                     match(team.parse::<i32>()){
[INFO] [stdout] 150 +                     match team.parse::<i32>() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -     match(req.param("year")){
[INFO] [stdout] 173 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |             match(req.param("eventcode")){
[INFO] [stdout]     |                  ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -             match(req.param("eventcode")){
[INFO] [stdout] 175 +             match req.param("eventcode") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:193:10
[INFO] [stdout]     |
[INFO] [stdout] 193 |     match(req.header("Authorization")){
[INFO] [stdout]     |          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 193 -     match(req.header("Authorization")){
[INFO] [stdout] 193 +     match req.header("Authorization") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:196:19
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 if(!DEV_KEYS.contains(&str.as_str().to_string())){
[INFO] [stdout]     |                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 -                 if(!DEV_KEYS.contains(&str.as_str().to_string())){
[INFO] [stdout] 196 +                 if !DEV_KEYS.contains(&str.as_str().to_string()) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 |     match(req.param("eventcode")){
[INFO] [stdout]     |          ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -     match(req.param("eventcode")){
[INFO] [stdout] 205 +     match req.param("eventcode") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]  --> src/main.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{path::Path, fs, any::Any, time::Duration};
[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: `clokwerk::Interval::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use clokwerk::Interval::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]  --> src/database.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusqlite::{params, Result};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/database.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 return (Ok(1));
[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] 54 -                 return (Ok(1));
[INFO] [stdout] 54 +                 return Ok(1) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/database.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |             match(partial){
[INFO] [stdout]    |                  ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -             match(partial){
[INFO] [stdout] 69 +             match partial {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/database.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |                         return (Ok(1));
[INFO] [stdout]    |                                ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                         return (Ok(1));
[INFO] [stdout] 75 +                         return Ok(1) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/database.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         return (Ok(1));
[INFO] [stdout]    |                                ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -                         return (Ok(1));
[INFO] [stdout] 84 +                         return Ok(1) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/database.rs:104:24
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 return (Ok(1));
[INFO] [stdout]     |                        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -                 return (Ok(1));
[INFO] [stdout] 104 +                 return Ok(1) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/database.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 return (Ok(1));
[INFO] [stdout]     |                        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -                 return (Ok(1));
[INFO] [stdout] 139 +                 return Ok(1) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::blocking`
[INFO] [stdout]  --> src/scrapers/scraper_2022.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::blocking;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result as serde_result` and `Value`
[INFO] [stdout]  --> src/scrapers/scraper_2022.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::{Result as serde_result, Value};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `main`
[INFO] [stdout]  --> src/scrapers/scraper_2022.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{main, API_KEY};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_2022_Alliance` should have an upper camel case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Match_2022_Alliance{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Match2022Alliance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_Results_2022` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct Match_Results_2022{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MatchResults2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_Result_Response_2022` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct Match_Result_Response_2022{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MatchResultResponse2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_2022` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Match_2022{
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `Match2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match_2022_Results` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct Match_2022_Results{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Match2022Results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Teams_Response` should have an upper camel case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Teams_Response{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TeamsResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:219:11
[INFO] [stdout]     |
[INFO] [stdout] 219 | ... if((chrono::offset::Utc::now().timestamp_millis() - DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis()).abs() > (3.6e+6 as i64)){
[INFO] [stdout]     |       ^                                                                                                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -         if((chrono::offset::Utc::now().timestamp_millis() - DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis()).abs() > (3.6e+6 as i64)){
[INFO] [stdout] 219 +         if (chrono::offset::Utc::now().timestamp_millis() - DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis()).abs() > (3.6e+6 as i64) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:254:46
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let events_to_scrape: Vec<String> = match(eventslist){
[INFO] [stdout]     |                                              ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 254 -     let events_to_scrape: Vec<String> = match(eventslist){
[INFO] [stdout] 254 +     let events_to_scrape: Vec<String> = match eventslist {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:262:11
[INFO] [stdout]     |
[INFO] [stdout] 262 |         if(idx % 25 == 0){
[INFO] [stdout]     |           ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 262 -         if(idx % 25 == 0){
[INFO] [stdout] 262 +         if idx % 25 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:279:11
[INFO] [stdout]     |
[INFO] [stdout] 279 |         if(serde_result.is_err()){
[INFO] [stdout]     |           ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 279 -         if(serde_result.is_err()){
[INFO] [stdout] 279 +         if serde_result.is_err() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:293:11
[INFO] [stdout]     |
[INFO] [stdout] 293 |         if(numResults != numMatches){
[INFO] [stdout]     |           ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 293 -         if(numResults != numMatches){
[INFO] [stdout] 293 +         if numResults != numMatches {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:294:15
[INFO] [stdout]     |
[INFO] [stdout] 294 |             if(eventCode == "AUCAQ"){
[INFO] [stdout]     |               ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -             if(eventCode == "AUCAQ"){
[INFO] [stdout] 294 +             if eventCode == "AUCAQ" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:323:19
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 if(index % 50 == 0){
[INFO] [stdout]     |                   ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 323 -                 if(index % 50 == 0){
[INFO] [stdout] 323 +                 if index % 50 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:333:23
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     if(eventcode == "USCHSCHQ"){
[INFO] [stdout]     |                       ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 333 -                     if(eventcode == "USCHSCHQ"){
[INFO] [stdout] 333 +                     if eventcode == "USCHSCHQ" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:347:36
[INFO] [stdout]     |
[INFO] [stdout] 347 | ...                   if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 347 -                                 if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 347 +                                 if blue.robot1Auto == "NONE"  {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:347:77
[INFO] [stdout]     |
[INFO] [stdout] 347 | ...                   if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                   ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 347 -                                 if (blue.robot1Auto == "NONE") {0} else {if (blue.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 347 +                                 if (blue.robot1Auto == "NONE") {0} else {if blue.robot1Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:348:36
[INFO] [stdout]     |
[INFO] [stdout] 348 | ...                   if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 348 -                                 if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 348 +                                 if blue.robot2Auto == "NONE"  {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:348:77
[INFO] [stdout]     |
[INFO] [stdout] 348 | ...                   if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                   ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 348 -                                 if (blue.robot2Auto == "NONE") {0} else {if (blue.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 348 +                                 if (blue.robot2Auto == "NONE") {0} else {if blue.robot2Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:447:36
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...                   if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 447 -                                 if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 447 +                                 if red.robot1Auto == "NONE"  {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:447:76
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...                   if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                  ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 447 -                                 if (red.robot1Auto == "NONE") {0} else {if (red.robot1Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 447 +                                 if (red.robot1Auto == "NONE") {0} else {if red.robot1Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:448:36
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                          ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 448 -                                 if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 448 +                                 if red.robot2Auto == "NONE"  {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:448:76
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout]     |                                                                  ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 448 -                                 if (red.robot2Auto == "NONE") {0} else {if (red.robot2Auto == "SUBSTATION_TERMINAL") {1} else {2}},
[INFO] [stdout] 448 +                                 if (red.robot2Auto == "NONE") {0} else {if red.robot2Auto == "SUBSTATION_TERMINAL"  {1} else {2}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:539:7
[INFO] [stdout]     |
[INFO] [stdout] 539 |     if(!updateTeams){
[INFO] [stdout]     |       ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 539 -     if(!updateTeams){
[INFO] [stdout] 539 +     if !updateTeams {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:556:11
[INFO] [stdout]     |
[INFO] [stdout] 556 |         if(i%10 == 0){
[INFO] [stdout]     |           ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 556 -         if(i%10 == 0){
[INFO] [stdout] 556 +         if i%10 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:568:163
[INFO] [stdout]     |
[INFO] [stdout] 568 | ...m.teamNumber.to_string(), team.nameShort.unwrap(), match(team.stateProv){
[INFO] [stdout]     |                                                            ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 568 -                 conn.execute("INSERT INTO teams2022 (teamNum, teamName, region) VALUES (?1, ?2, ?3)", [team.teamNumber.to_string(), team.nameShort.unwrap(), match(team.stateProv){
[INFO] [stdout] 568 +                 conn.execute("INSERT INTO teams2022 (teamNum, teamName, region) VALUES (?1, ?2, ?3)", [team.teamNumber.to_string(), team.nameShort.unwrap(), match team.stateProv {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:580:7
[INFO] [stdout]     |
[INFO] [stdout] 580 |     if(eventsExist){
[INFO] [stdout]     |       ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 580 -     if(eventsExist){
[INFO] [stdout] 580 +     if eventsExist {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:597:10
[INFO] [stdout]     |
[INFO] [stdout] 597 |     match(eventcode) {
[INFO] [stdout]     |          ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 597 -     match(eventcode) {
[INFO] [stdout] 597 +     match eventcode  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:607:11
[INFO] [stdout]     |
[INFO] [stdout] 607 |     match (team){
[INFO] [stdout]     |           ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 607 -     match (team){
[INFO] [stdout] 607 +     match team {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:621:11
[INFO] [stdout]     |
[INFO] [stdout] 621 |         if(codeFound){
[INFO] [stdout]     |           ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 621 -         if(codeFound){
[INFO] [stdout] 621 +         if codeFound {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:622:15
[INFO] [stdout]     |
[INFO] [stdout] 622 |             if(teamFound){
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 622 -             if(teamFound){
[INFO] [stdout] 622 +             if teamFound {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:636:39
[INFO] [stdout]     |
[INFO] [stdout] 636 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 636 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 636 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:636:109
[INFO] [stdout]     |
[INFO] [stdout] 636 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 636 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 636 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:637:39
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 637 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 637 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:637:109
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 637 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 637 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:683:39
[INFO] [stdout]     |
[INFO] [stdout] 683 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 683 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 683 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:683:109
[INFO] [stdout]     |
[INFO] [stdout] 683 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 683 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 683 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:684:39
[INFO] [stdout]     |
[INFO] [stdout] 684 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 684 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:684:109
[INFO] [stdout]     |
[INFO] [stdout] 684 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 684 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:718:15
[INFO] [stdout]     |
[INFO] [stdout] 718 |             if(teamFound){
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 718 -             if(teamFound){
[INFO] [stdout] 718 +             if teamFound {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:732:39
[INFO] [stdout]     |
[INFO] [stdout] 732 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 732 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 732 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:732:109
[INFO] [stdout]     |
[INFO] [stdout] 732 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 732 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 732 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:733:39
[INFO] [stdout]     |
[INFO] [stdout] 733 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 733 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 733 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:733:109
[INFO] [stdout]     |
[INFO] [stdout] 733 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 733 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 733 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:779:39
[INFO] [stdout]     |
[INFO] [stdout] 779 | ...   robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 779 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 779 +                         robot1Auto: if row.get::<usize, i32>(10).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:779:109
[INFO] [stdout]     |
[INFO] [stdout] 779 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 779 -                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(10).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 779 +                         robot1Auto: if(row.get::<usize, i32>(10).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(10).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:780:39
[INFO] [stdout]     |
[INFO] [stdout] 780 | ...   robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1)...
[INFO] [stdout]     |                     ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 780 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 780 +                         robot2Auto: if row.get::<usize, i32>(11).unwrap() == 0  {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:780:109
[INFO] [stdout]     |
[INFO] [stdout] 780 | ...unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SI...
[INFO] [stdout]     |                                               ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 780 -                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if(row.get::<usize, i32>(11).unwrap() == 1){"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout] 780 +                         robot2Auto: if(row.get::<usize, i32>(11).unwrap() == 0) {"None".to_owned()} else {if row.get::<usize, i32>(11).unwrap() == 1 {"SUBSTATION_TERMINAL".to_owned()} else {"SIGNAL_ZONE".to_owned()}},
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:822:11
[INFO] [stdout]     |
[INFO] [stdout] 822 |         if(itemval == "MY_CONE"){
[INFO] [stdout]     |           ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 822 -         if(itemval == "MY_CONE"){
[INFO] [stdout] 822 +         if itemval == "MY_CONE" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:824:17
[INFO] [stdout]     |
[INFO] [stdout] 824 |         }else if(itemval == "OTHER_CONE"){
[INFO] [stdout]     |                 ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 824 -         }else if(itemval == "OTHER_CONE"){
[INFO] [stdout] 824 +         }else if itemval == "OTHER_CONE" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:835:11
[INFO] [stdout]     |
[INFO] [stdout] 835 |         if(c == 'm'){
[INFO] [stdout]     |           ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 835 -         if(c == 'm'){
[INFO] [stdout] 835 +         if c == 'm' {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_rusqlite::Connection`
[INFO] [stdout]  --> src/insights/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tokio_rusqlite::Connection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `hash::Hash`
[INFO] [stdout]  --> src/insights/insights_2022.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, clone, path::Path, hash::Hash};
[INFO] [stdout]   |                                 ^^^^^              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rows`
[INFO] [stdout]  --> src/insights/insights_2022.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rusqlite::{Statement, Rows};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/insights/insights_2022.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let events = match(eventslist){
[INFO] [stdout]    |                       ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -     let events = match(eventslist){
[INFO] [stdout] 74 +     let events = match eventslist {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/insights/insights_2022.rs:99:24
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let map = match(computeEventConeComponents(event.clone(), connect).await){
[INFO] [stdout]    |                        ^                                                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         let map = match(computeEventConeComponents(event.clone(), connect).await){
[INFO] [stdout] 99 +         let map = match computeEventConeComponents(event.clone(), connect).await {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     if(bestTeamMap.contains_key(teamKey)){
[INFO] [stdout]     |                       ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 -                     if(bestTeamMap.contains_key(teamKey)){
[INFO] [stdout] 149 +                     if bestTeamMap.contains_key(teamKey) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |                         if(teamMap.get(teamKey).unwrap().get(i).unwrap() > bestTeamMap.get(teamKey).unwrap().get(i).unwrap()){
[INFO] [stdout]     |                           ^                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -                         if(teamMap.get(teamKey).unwrap().get(i).unwrap() > bestTeamMap.get(teamKey).unwrap().get(i).unwrap()){
[INFO] [stdout] 150 +                         if teamMap.get(teamKey).unwrap().get(i).unwrap() > bestTeamMap.get(teamKey).unwrap().get(i).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:193:11
[INFO] [stdout]     |
[INFO] [stdout] 193 |         if(ind1 % 25 == 0){
[INFO] [stdout]     |           ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 193 -         if(ind1 % 25 == 0){
[INFO] [stdout] 193 +         if ind1 % 25 == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 |             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 221 -             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout] 221 +             if team1arr.get(0).unwrap() > team2arr.get(0).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 224 -             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout] 224 +             if team1arr.get(1).unwrap() > team2arr.get(1).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout] 227 +             if team1arr.get(2).unwrap() > team2arr.get(2).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:230:15
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout] 230 +             if team1arr.get(3).unwrap() > team2arr.get(3).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:233:15
[INFO] [stdout]     |
[INFO] [stdout] 233 |             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 233 -             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout] 233 +             if team1arr.get(4).unwrap() > team2arr.get(4).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 236 -             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout] 236 +             if team1arr.get(5).unwrap() > team2arr.get(5).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 |             if(districtMap.get(&team1).unwrap() != districtMap.get(team2).unwrap()){
[INFO] [stdout]     |               ^                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 240 -             if(districtMap.get(&team1).unwrap() != districtMap.get(team2).unwrap()){
[INFO] [stdout] 240 +             if districtMap.get(&team1).unwrap() != districtMap.get(team2).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 244 -             if(team1arr.get(0).unwrap() > team2arr.get(0).unwrap()){
[INFO] [stdout] 244 +             if team1arr.get(0).unwrap() > team2arr.get(0).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:247:15
[INFO] [stdout]     |
[INFO] [stdout] 247 |             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 247 -             if(team1arr.get(1).unwrap() > team2arr.get(1).unwrap()){
[INFO] [stdout] 247 +             if team1arr.get(1).unwrap() > team2arr.get(1).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 250 -             if(team1arr.get(2).unwrap() > team2arr.get(2).unwrap()){
[INFO] [stdout] 250 +             if team1arr.get(2).unwrap() > team2arr.get(2).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 253 -             if(team1arr.get(3).unwrap() > team2arr.get(3).unwrap()){
[INFO] [stdout] 253 +             if team1arr.get(3).unwrap() > team2arr.get(3).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:256:15
[INFO] [stdout]     |
[INFO] [stdout] 256 |             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 256 -             if(team1arr.get(4).unwrap() > team2arr.get(4).unwrap()){
[INFO] [stdout] 256 +             if team1arr.get(4).unwrap() > team2arr.get(4).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:259:15
[INFO] [stdout]     |
[INFO] [stdout] 259 |             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout]     |               ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -             if(team1arr.get(5).unwrap() > team2arr.get(5).unwrap()){
[INFO] [stdout] 259 +             if team1arr.get(5).unwrap() > team2arr.get(5).unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:366:39
[INFO] [stdout]     |
[INFO] [stdout] 366 |                         let index = if(alliance == "Red") {1 + ((i * 5) + j)} else {1 + ((i * 5) + (4-j))};
[INFO] [stdout]     |                                       ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 366 -                         let index = if(alliance == "Red") {1 + ((i * 5) + j)} else {1 + ((i * 5) + (4-j))};
[INFO] [stdout] 366 +                         let index = if alliance == "Red"  {1 + ((i * 5) + j)} else {1 + ((i * 5) + (4-j))};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:371:31
[INFO] [stdout]     |
[INFO] [stdout] 371 | ...                   if(c == 'm'){
[INFO] [stdout]     |                         ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 371 -                             if(c == 'm'){
[INFO] [stdout] 371 +                             if c == 'm' {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:376:34
[INFO] [stdout]     |
[INFO] [stdout] 376 |                         tmparray[((i * 5) + j)] += count;
[INFO] [stdout]     |                                  ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 376 -                         tmparray[((i * 5) + j)] += count;
[INFO] [stdout] 376 +                         tmparray[(i * 5) + j ] += count;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:387:29
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout]     |                             ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 387 -         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout] 387 +         let mut oprc = match result.solve(&scorematrix) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:458:29
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout]     |                             ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 458 -         let mut oprc = match(result.solve(&scorematrix)){
[INFO] [stdout] 458 +         let mut oprc = match result.solve(&scorematrix) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/insights/insights_2022.rs:487:20
[INFO] [stdout]     |
[INFO] [stdout] 487 |             return (Ok(1));
[INFO] [stdout]     |                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 487 -             return (Ok(1));
[INFO] [stdout] 487 +             return Ok(1) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/insights/insights_2022.rs:522:7
[INFO] [stdout]     |
[INFO] [stdout] 522 |     if(!districts.contains_key(&team.parse::<i32>().unwrap())){
[INFO] [stdout]     |       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 522 -     if(!districts.contains_key(&team.parse::<i32>().unwrap())){
[INFO] [stdout] 522 +     if !districts.contains_key(&team.parse::<i32>().unwrap()) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/insights/insights_2022.rs:551:24
[INFO] [stdout]     |
[INFO] [stdout] 551 |         let row = match(rows2.next().unwrap()){
[INFO] [stdout]     |                        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 551 -         let row = match(rows2.next().unwrap()){
[INFO] [stdout] 551 +         let row = match rows2.next().unwrap() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/insights/insights_2022.rs:624:84
[INFO] [stdout]     |
[INFO] [stdout] 624 |         }).unwrap().collect::<Result<Vec<EventCones>, rusqlite::Error>>().unwrap();;
[INFO] [stdout]     |                                                                                    ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]  --> src/insights/mod.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |     if(year == "2022"){
[INFO] [stdout]   |       ^              ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 6 -     if(year == "2022"){
[INFO] [stdout] 6 +     if year == "2022" {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/insights/mod.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |     if(year == "2022"){
[INFO] [stdout]    |       ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -     if(year == "2022"){
[INFO] [stdout] 13 +     if year == "2022" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/insights/mod.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |     if(year == "2022"){
[INFO] [stdout]    |       ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     if(year == "2022"){
[INFO] [stdout] 20 +     if year == "2022" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Hybrid_Match_Response` should have an upper camel case name
[INFO] [stdout]  --> src/predictors/PowerPlay/basic_elo_2022.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Hybrid_Match_Response{
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HybridMatchResponse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Hybrid_Match` should have an upper camel case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Hybrid_Match{
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HybridMatch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Scheduled_Match_Team` should have an upper camel case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct Scheduled_Match_Team{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScheduledMatchTeam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 |         if(!ELOs.contains_key(&hybrid_match.teams.get(0).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -         if(!ELOs.contains_key(&hybrid_match.teams.get(0).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 73 +         if !ELOs.contains_key(&hybrid_match.teams.get(0).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 |         if(!ELOs.contains_key(&hybrid_match.teams.get(1).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -         if(!ELOs.contains_key(&hybrid_match.teams.get(1).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 76 +         if !ELOs.contains_key(&hybrid_match.teams.get(1).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 |         if(!ELOs.contains_key(&hybrid_match.teams.get(2).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -         if(!ELOs.contains_key(&hybrid_match.teams.get(2).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 79 +         if !ELOs.contains_key(&hybrid_match.teams.get(2).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 |         if(!ELOs.contains_key(&hybrid_match.teams.get(3).unwrap().teamNumber.unwrap())){
[INFO] [stdout]    |           ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -         if(!ELOs.contains_key(&hybrid_match.teams.get(3).unwrap().teamNumber.unwrap())){
[INFO] [stdout] 82 +         if !ELOs.contains_key(&hybrid_match.teams.get(3).unwrap().teamNumber.unwrap()) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |             if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout]    |               ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -             if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout] 92 +             if team.station.clone().unwrap().starts_with("Red") {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         if(hybrid_match.scoreBlueFinal.is_some()){
[INFO] [stdout]     |           ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -         if(hybrid_match.scoreBlueFinal.is_some()){
[INFO] [stdout] 104 +         if hybrid_match.scoreBlueFinal.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if(hybrid_match.redWins){
[INFO] [stdout]     |               ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -             if(hybrid_match.redWins){
[INFO] [stdout] 110 +             if hybrid_match.redWins {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout]     |                       ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout] 113 +                     if team.station.clone().unwrap().starts_with("Red") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:120:22
[INFO] [stdout]     |
[INFO] [stdout] 120 |             }else if (hybrid_match.blueWins){
[INFO] [stdout]     |                      ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             }else if (hybrid_match.blueWins){
[INFO] [stdout] 120 +             }else if hybrid_match.blueWins {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:123:23
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout]     |                       ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -                     if(team.station.clone().unwrap().starts_with("Red")){
[INFO] [stdout] 123 +                     if team.station.clone().unwrap().starts_with("Red") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:148:37
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 predictedcorrect: if(hybrid_match.blueWins){
[INFO] [stdout]     |                                     ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -                 predictedcorrect: if(hybrid_match.blueWins){
[INFO] [stdout] 148 +                 predictedcorrect: if hybrid_match.blueWins {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Predicted_Match` should have an upper camel case name
[INFO] [stdout]  --> src/predictors/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Predicted_Match{
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PredictedMatch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Predicted_Matches` should have an upper camel case name
[INFO] [stdout]   --> src/predictors/mod.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Predicted_Matches{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PredictedMatches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/predictors/mod.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 |     if(year == "2022"){
[INFO] [stdout]    |       ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -     if(year == "2022"){
[INFO] [stdout] 26 +     if year == "2022" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 -     match(req.param("year")){
[INFO] [stdout] 101 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |             if(year == "2022"){
[INFO] [stdout]     |               ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 103 -             if(year == "2022"){
[INFO] [stdout] 103 +             if year == "2022" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 -     match(req.param("year")){
[INFO] [stdout] 119 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |             match(req.param("team")){
[INFO] [stdout]     |                  ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             match(req.param("team")){
[INFO] [stdout] 121 +             match req.param("team") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     match(team.parse::<i32>()){
[INFO] [stdout]     |                          ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -                     match(team.parse::<i32>()){
[INFO] [stdout] 123 +                     match team.parse::<i32>() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:146:10
[INFO] [stdout]     |
[INFO] [stdout] 146 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 146 -     match(req.param("year")){
[INFO] [stdout] 146 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 148 |             match(req.param("team")){
[INFO] [stdout]     |                  ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -             match(req.param("team")){
[INFO] [stdout] 148 +             match req.param("team") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:150:26
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     match(team.parse::<i32>()){
[INFO] [stdout]     |                          ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -                     match(team.parse::<i32>()){
[INFO] [stdout] 150 +                     match team.parse::<i32>() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 |     match(req.param("year")){
[INFO] [stdout]     |          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -     match(req.param("year")){
[INFO] [stdout] 173 +     match req.param("year") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |             match(req.param("eventcode")){
[INFO] [stdout]     |                  ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -             match(req.param("eventcode")){
[INFO] [stdout] 175 +             match req.param("eventcode") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:193:10
[INFO] [stdout]     |
[INFO] [stdout] 193 |     match(req.header("Authorization")){
[INFO] [stdout]     |          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 193 -     match(req.header("Authorization")){
[INFO] [stdout] 193 +     match req.header("Authorization") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:196:19
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 if(!DEV_KEYS.contains(&str.as_str().to_string())){
[INFO] [stdout]     |                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 -                 if(!DEV_KEYS.contains(&str.as_str().to_string())){
[INFO] [stdout] 196 +                 if !DEV_KEYS.contains(&str.as_str().to_string()) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/main.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 |     match(req.param("eventcode")){
[INFO] [stdout]     |          ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -     match(req.param("eventcode")){
[INFO] [stdout] 205 +     match req.param("eventcode") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/database.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut map: HashMap<i32, String> = HashMap::new();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/events"))
[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/database.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut map: HashMap<i32, String> = HashMap::new();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/events"))
[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/scrapers/scraper_2022.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/events"))
[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/scrapers/scraper_2022.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/scores/{}/qual", eventCode))
[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/scrapers/scraper_2022.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut response = client.execute(req).await.unwrap();
[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/scrapers/scraper_2022.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let mut serde_result = serde_json::from_str(&response.text().await.unwrap());
[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/scrapers/scraper_2022.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/matches/{}?tournamentLevel=qual", eventCode))
[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/scrapers/scraper_2022.rs:543:9
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/teams"))
[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/scrapers/scraper_2022.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/teams?page={}",(i+1)))
[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/scrapers/scraper_2022.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/events"))
[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/scrapers/scraper_2022.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/scores/{}/qual", eventCode))
[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/scrapers/scraper_2022.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut response = client.execute(req).await.unwrap();
[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/scrapers/scraper_2022.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let mut serde_result = serde_json::from_str(&response.text().await.unwrap());
[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/scrapers/scraper_2022.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/matches/{}?tournamentLevel=qual", eventCode))
[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/scrapers/scraper_2022.rs:543:9
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/teams"))
[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/scrapers/scraper_2022.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/teams?page={}",(i+1)))
[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/insights/insights_2022.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut nameMap = database::getTeamNameMap(2022).await;
[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/insights/insights_2022.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let mut districtMap = database::getDistricts(2022).await;
[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/insights/insights_2022.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut bestTeamMapClone = bestTeamMap.clone();
[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/insights/insights_2022.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut districtCount: HashMap<String, i32> = HashMap::new();
[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/insights/insights_2022.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[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/insights/insights_2022.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut scoreRowSize = 0;
[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/insights/insights_2022.rs:367:29
[INFO] [stdout]     |
[INFO] [stdout] 367 |                         let mut tmp: String = row.get(index).unwrap();
[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/insights/insights_2022.rs:386:13
[INFO] [stdout]     |
[INFO] [stdout] 386 |         let mut result = teammatrix.lu();
[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/insights/insights_2022.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut oprc = match(result.solve(&scorematrix)){
[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/insights/insights_2022.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[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/insights/insights_2022.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut scoreRowSize = 0;
[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/insights/insights_2022.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |         let mut result = teammatrix.lu();
[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/insights/insights_2022.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut oprc = match(result.solve(&scorematrix)){
[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/insights/insights_2022.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut nameMap = database::getTeamNameMap(2022).await;
[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/insights/insights_2022.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let mut districtMap = database::getDistricts(2022).await;
[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/insights/insights_2022.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut bestTeamMapClone = bestTeamMap.clone();
[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/insights/insights_2022.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut districtCount: HashMap<String, i32> = HashMap::new();
[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/predictors/PowerPlay/basic_elo_2022.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/schedule/{}/qual/hybrid", eventcode))
[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:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn get_insight_teams(mut req: Request<()>) -> tide::Result{
[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:118:27
[INFO] [stdout]     |
[INFO] [stdout] 118 | async fn get_insight_team(mut req: Request<()>) -> tide::Result{
[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:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 | async fn get_cones_team(mut req: Request<()>) -> tide::Result{
[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:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 | async fn get_event_predictions(mut req: Request<()>) -> tide::Result{
[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:192:27
[INFO] [stdout]     |
[INFO] [stdout] 192 | async fn get_matches_2022(mut req: Request<()>) -> tide::Result{
[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/insights/insights_2022.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[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/insights/insights_2022.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut scoreRowSize = 0;
[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/insights/insights_2022.rs:367:29
[INFO] [stdout]     |
[INFO] [stdout] 367 |                         let mut tmp: String = row.get(index).unwrap();
[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/insights/insights_2022.rs:386:13
[INFO] [stdout]     |
[INFO] [stdout] 386 |         let mut result = teammatrix.lu();
[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/insights/insights_2022.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut oprc = match(result.solve(&scorematrix)){
[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/insights/insights_2022.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[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/insights/insights_2022.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut scoreRowSize = 0;
[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/insights/insights_2022.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |         let mut result = teammatrix.lu();
[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/insights/insights_2022.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut oprc = match(result.solve(&scorematrix)){
[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/predictors/PowerPlay/basic_elo_2022.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut req = client.get(format!("https://ftc-api.firstinspires.org/v2.0/2022/schedule/{}/qual/hybrid", eventcode))
[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:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn get_insight_teams(mut req: Request<()>) -> tide::Result{
[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:118:27
[INFO] [stdout]     |
[INFO] [stdout] 118 | async fn get_insight_team(mut req: Request<()>) -> tide::Result{
[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:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 | async fn get_cones_team(mut req: Request<()>) -> tide::Result{
[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:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 | async fn get_event_predictions(mut req: Request<()>) -> tide::Result{
[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:192:27
[INFO] [stdout]     |
[INFO] [stdout] 192 | async fn get_matches_2022(mut req: Request<()>) -> tide::Result{
[INFO] [stdout]     |                           ----^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Job`
[INFO] [stdout]  --> src/main.rs:4:43
[INFO] [stdout]   |
[INFO] [stdout] 4 | use clokwerk::{AsyncScheduler, TimeUnits, Job};
[INFO] [stdout]   |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blueres`
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...   let blueres = conn.execute(&format!("INSERT INTO matches2022 (eventcode, team1, team2, matchNumber, randomization, alliance, ...
[INFO] [stdout]     |           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blueres`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `redres`
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:436:25
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...   let redres = conn.execute(&format!("INSERT INTO matches2022 (eventcode, team1, team2, matchNumber, randomization, alliance, t...
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_redres`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |             for i in 0..numMatches{
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/insights/insights_2022.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                         for j in 0..teamMap.get(teamKey).unwrap().len(){
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `districtCount`
[INFO] [stdout]    --> src/insights/insights_2022.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut districtCount: HashMap<String, i32> = HashMap::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_districtCount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team`
[INFO] [stdout]    --> src/insights/insights_2022.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let team = bestTeamMapRef.get(&team1).unwrap().get(5).unwrap().to_string();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_team`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]    --> src/insights/insights_2022.rs:342:17
[INFO] [stdout]     |
[INFO] [stdout] 342 |             let test: isize = row.get(1).unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scoreRowSize`
[INFO] [stdout]    --> src/insights/insights_2022.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scoreRowSize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scoreRowSize`
[INFO] [stdout]    --> src/insights/insights_2022.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scoreRowSize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/database.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut map: HashMap<i32, String> = HashMap::new();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `query` is never read
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:620:25
[INFO] [stdout]     |
[INFO] [stdout] 620 |         let mut query = "".to_string();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `results` is never read
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:625:17
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 results = stmt.query_map(&[(":team", &teamval), (":eventcode", &code)], |row|{
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Job`
[INFO] [stdout]  --> src/main.rs:4:43
[INFO] [stdout]   |
[INFO] [stdout] 4 | use clokwerk::{AsyncScheduler, TimeUnits, Job};
[INFO] [stdout]   |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blueres`
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...   let blueres = conn.execute(&format!("INSERT INTO matches2022 (eventcode, team1, team2, matchNumber, randomization, alliance, ...
[INFO] [stdout]     |           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blueres`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `redres`
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:436:25
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...   let redres = conn.execute(&format!("INSERT INTO matches2022 (eventcode, team1, team2, matchNumber, randomization, alliance, t...
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_redres`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |             for i in 0..numMatches{
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/insights/insights_2022.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                         for j in 0..teamMap.get(teamKey).unwrap().len(){
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `districtCount`
[INFO] [stdout]    --> src/insights/insights_2022.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut districtCount: HashMap<String, i32> = HashMap::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_districtCount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team`
[INFO] [stdout]    --> src/insights/insights_2022.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let team = bestTeamMapRef.get(&team1).unwrap().get(5).unwrap().to_string();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_team`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]    --> src/insights/insights_2022.rs:342:17
[INFO] [stdout]     |
[INFO] [stdout] 342 |             let test: isize = row.get(1).unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scoreRowSize`
[INFO] [stdout]    --> src/insights/insights_2022.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scoreRowSize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scoreRowSize`
[INFO] [stdout]    --> src/insights/insights_2022.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scoreRowSize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/database.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut map: HashMap<i32, String> = HashMap::new();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `query` is never read
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:620:25
[INFO] [stdout]     |
[INFO] [stdout] 620 |         let mut query = "".to_string();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `results` is never read
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:625:17
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 results = stmt.query_map(&[(":team", &teamval), (":eventcode", &code)], |row|{
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/insights/insights_2022.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         unsafe{
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partial`
[INFO] [stdout]    --> src/insights/insights_2022.rs:476:30
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub(crate) async fn getTeams(partial: Option<String>) -> TeamInsightReturn{
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partial`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 unsafe{
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:125:29
[INFO] [stdout]     |
[INFO] [stdout] 125 | ...                   unsafe{
[INFO] [stdout]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:152:29
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...                   unsafe{
[INFO] [stdout]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     unsafe{
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             unsafe{
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eventcode`, `eventname`, and `timestart` are never read
[INFO] [stdout]   --> src/database.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Event{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 11 |     eventcode: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     eventname: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     timestart: i32
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeAndUpdateToday` is never used
[INFO] [stdout]   --> src/database.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) async fn scrapeAndUpdateToday(){
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` is never used
[INFO] [stdout]   --> src/database.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) async fn getTeams(year: i32, partial: Option<String>) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getNumInDistrict` is never used
[INFO] [stdout]    --> src/database.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub(crate) async fn getNumInDistrict(year: i32, district: String) -> i32{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getEvents` is never used
[INFO] [stdout]    --> src/database.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) async fn getEvents(year: i32) -> Vec<Event>{
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeToday` is never used
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:202:21
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub(crate) async fn scrapeToday(conn: &Connection){
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/main.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             DEV_KEYS.push(f.to_string());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 if(!DEV_KEYS.contains(&str.as_str().to_string())){
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `conn` should have an upper case name
[INFO] [stdout]  --> src/database.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | static mut conn: Option<Connection> = None;
[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] 8 - static mut conn: Option<Connection> = None;
[INFO] [stdout] 8 + static mut CONN: Option<Connection> = None;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeAndUpdateAll` should have a snake case name
[INFO] [stdout]   --> src/database.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) async fn scrapeAndUpdateAll(){
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `scrape_and_update_all`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeAndUpdateToday` should have a snake case name
[INFO] [stdout]   --> src/database.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) async fn scrapeAndUpdateToday(){
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `scrape_and_update_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:39:35
[INFO] [stdout]    |
[INFO] [stdout] 39 |         scraper_2022::scrapeToday((&conn).as_ref().unwrap()).await;
[INFO] [stdout]    |                                   ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 39 |         scraper_2022::scrapeToday((&raw const conn).as_ref().unwrap()).await;
[INFO] [stdout]    |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeamNameMap` should have a snake case name
[INFO] [stdout]   --> src/database.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) async fn getTeamNameMap(year: i32) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_team_name_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]   --> src/database.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]    |                     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]   --> src/database.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 let teamName: String = row.get(1).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` should have a snake case name
[INFO] [stdout]   --> src/database.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) async fn getTeams(year: i32, partial: Option<String>) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `get_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]   --> src/database.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]    |                             ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]   --> src/database.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         let teamName: String = row.get(1).unwrap();
[INFO] [stdout]    |                             ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]   --> src/database.rs:81:29
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]    |                             ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]   --> src/database.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         let teamName: String = row.get(1).unwrap();
[INFO] [stdout]    |                             ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getDistricts` should have a snake case name
[INFO] [stdout]   --> src/database.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) async fn getDistricts(year: i32) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_districts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]    --> src/database.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]     |                     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]    --> src/database.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 let teamName: String = row.get(1).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getNumInDistrict` should have a snake case name
[INFO] [stdout]    --> src/database.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub(crate) async fn getNumInDistrict(year: i32, district: String) -> i32{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_num_in_district`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:114:26
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]     |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getEvents` should have a snake case name
[INFO] [stdout]    --> src/database.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) async fn getEvents(year: i32) -> Vec<Event>{
[INFO] [stdout]     |                     ^^^^^^^^^ help: convert the identifier to snake case: `get_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]     |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getMatches2022` should have a snake case name
[INFO] [stdout]    --> src/database.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub(crate) async fn getMatches2022(eventcode: Option<String>, team: Option<String>) -> Vec<Match_2022>{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_matches2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:148:42
[INFO] [stdout]     |
[INFO] [stdout] 148 |         return scraper_2022::deserialize((&conn).as_ref().unwrap(), eventcode, team).await;
[INFO] [stdout]     |                                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 148 |         return scraper_2022::deserialize((&raw const conn).as_ref().unwrap(), eventcode, team).await;
[INFO] [stdout]     |                                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getMatches2022Response` should have a snake case name
[INFO] [stdout]    --> src/database.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) async fn getMatches2022Response(eventcode: Option<String>) -> Match_2022_Results{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_matches2022_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:155:48
[INFO] [stdout]     |
[INFO] [stdout] 155 |             matches: scraper_2022::deserialize((&conn).as_ref().unwrap(), eventcode, None).await
[INFO] [stdout]     |                                                ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 155 |             matches: scraper_2022::deserialize((&raw const conn).as_ref().unwrap(), eventcode, None).await
[INFO] [stdout]     |                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eventId` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     eventId: Option<String>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `divisionCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     divisionCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `division_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fieldCount` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fieldCount: i32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `field_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `typeName` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     typeName: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `type_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `regionCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     regionCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `region_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `leagueCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     leagueCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `league_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `districtCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     districtCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `district_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liveStreamUrl` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     liveStreamUrl: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `live_stream_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateStart` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dateStart: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `date_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateEnd` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     dateEnd: Option<String>
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `date_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eventCount` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     eventCount: i32
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `event_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNumber` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     teamNumber: i32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `team_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `onField` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     onField: bool
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `on_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `actualStartTime` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     actualStartTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tournamentLevel` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     tournamentLevel: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tournament_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     matchNumber: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFinal` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     scoreRedFinal: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFoul` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     scoreRedFoul: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedAuto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     scoreRedAuto: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFinal` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     scoreBlueFinal: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFoul` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     scoreBlueFoul: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueAuto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     scoreBlueAuto: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postResultTime` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     postResultTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `post_result_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `modifiedOn` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     modifiedOn: Option<String>
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `modified_on`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sideOfField` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     sideOfField: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `side_of_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve1` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     initSignalSleeve1: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve2` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     initSignalSleeve2: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot1Auto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     robot1Auto: String,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot1_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot2Auto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     robot2Auto: String,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot2_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminal` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     autoTerminal: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctions` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     autoJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctions` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     dcJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalNear` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     dcTerminalNear: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalFar` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     dcTerminalFar: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated1` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     egNavigated1: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated2` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     egNavigated2: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `minorPenalties` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     minorPenalties: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `minor_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `majorPenalties` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     majorPenalties: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `major_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoNavigationPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     autoNavigationPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `signalBonusPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     signalBonusPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signal_bonus_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     autoJunctionConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminalConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     autoTerminalConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     dcJunctionConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     dcTerminalConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownershipPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     ownershipPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ownership_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `circuitPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     circuitPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `circuit_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigationPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     egNavigationPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     autoPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `auto_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     dcPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `dc_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endgamePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     endgamePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `endgame_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `penaltyPointsCommitted` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     penaltyPointsCommitted: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `penalty_points_committed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `prePenaltyTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     prePenaltyTotal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pre_penalty_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     autoJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     dcJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownedJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ownedJunctions: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `owned_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `totalPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     totalPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `total_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchLevel` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     matchLevel: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `match_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchSeries` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     matchSeries: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_series`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     matchNumber: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MatchScores` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     MatchScores: Vec<Match_Results_2022>
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_scores`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub matchNumber: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sideOfField` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     sideOfField: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `side_of_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve1` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     initSignalSleeve1: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve2` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     initSignalSleeve2: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot1Auto` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     robot1Auto: String,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot1_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot2Auto` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     robot2Auto: String,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot2_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     autoTerminal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     autoJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     dcJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalNear` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     dcTerminalNear: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalFar` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     dcTerminalFar: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated1` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     egNavigated1: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated2` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     egNavigated2: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `minorPenalties` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     minorPenalties: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `minor_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `majorPenalties` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     majorPenalties: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `major_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoNavigationPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     autoNavigationPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `signalBonusPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     signalBonusPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signal_bonus_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     autoJunctionConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminalConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     autoTerminalConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     dcJunctionConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     dcTerminalConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownershipPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     ownershipPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ownership_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `circuitPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     circuitPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `circuit_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigationPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     egNavigationPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     autoPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `auto_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     dcPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `dc_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endgamePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     endgamePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `endgame_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `penaltyPointsCommitted` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     penaltyPointsCommitted: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `penalty_points_committed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `prePenaltyTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     prePenaltyTotal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pre_penalty_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     autoJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     dcJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownedJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     ownedJunctions: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `owned_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `totalPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub totalPoints: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `total_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNumber` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     teamNumber: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `team_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nameFull` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     nameFull: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `name_full`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nameShort` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     nameShort: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `name_short`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `schoolName` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     schoolName: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `school_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `stateProv` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     stateProv: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `state_prov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rookieYear` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     rookieYear: Option<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `rookie_year`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robotName` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     robotName: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `robot_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `districtCode` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     districtCode: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `district_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `homeCMP` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     homeCMP: Option<String>
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `home_cmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamCountTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     teamCountTotal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `team_count_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamCountPage` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     teamCountPage: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `team_count_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pageCurrent` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pageCurrent: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `page_current`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pageTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pageTotal: i32
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `page_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeToday` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:202:21
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub(crate) async fn scrapeToday(conn: &Connection){
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `scrape_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |         api_key_local = &API_KEY;
[INFO] [stdout]     |                         ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 205 |         api_key_local = &raw const API_KEY;
[INFO] [stdout]     |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventDate` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let eventDate = format!("{}Z", event.dateEnd.unwrap());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `event_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updateTeams` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:229:80
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub(crate) async fn scrape(conn: &Connection, eventslist: Option<Vec<String>>, updateTeams: bool){
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^ help: convert the identifier to snake case: `update_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:232:25
[INFO] [stdout]     |
[INFO] [stdout] 232 |         api_key_local = &API_KEY;
[INFO] [stdout]     |                         ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 232 |         api_key_local = &raw const API_KEY;
[INFO] [stdout]     |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventsExist` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let eventsExist = eventslist.is_some();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `events_exist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `results` should have an upper case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:250:16
[INFO] [stdout]     |
[INFO] [stdout] 250 |     static mut results: Vec<Match_Results_2022> = Vec::new();
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 250 -     static mut results: Vec<Match_Results_2022> = Vec::new();
[INFO] [stdout] 250 +     static mut RESULTS: Vec<Match_Results_2022> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `matches` should have an upper case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:251:16
[INFO] [stdout]     |
[INFO] [stdout] 251 |     static mut matches: Vec<EventMatchResult> = Vec::new();
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 251 -     static mut matches: Vec<EventMatchResult> = Vec::new();
[INFO] [stdout] 251 +     static mut MATCHES: Vec<EventMatchResult> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `codes` should have an upper case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:252:16
[INFO] [stdout]     |
[INFO] [stdout] 252 |     static mut codes: Vec<String> = Vec::new();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 252 -     static mut codes: Vec<String> = Vec::new();
[INFO] [stdout] 252 +     static mut CODES: Vec<String> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numToScrape` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let numToScrape = events_to_scrape.len();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `num_to_scrape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventCode` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let eventCode = events_to_scrape.get(idx).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `event_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numResults` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let numResults = matchres.matches.len();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `num_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numMatches` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let numMatches = result.MatchScores.len();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `num_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |             results.append(&mut result.MatchScores);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |             matches.append(&mut matchres.matches);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |                 codes.push(eventCode.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:313:56
[INFO] [stdout]     |
[INFO] [stdout] 313 |         println!("Scraped {} matches for season 2022", matches.len());
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |         for index in 0..matches.len(){
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:324:83
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     println!("2022: Finished processing {} matches of {}", index, matches.len());
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:326:28
[INFO] [stdout]     |
[INFO] [stdout] 326 |                 let code = codes.get(index);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:328:30
[INFO] [stdout]     |
[INFO] [stdout] 328 |                 let scores = results.get(index).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 329 |                 let matchval = matches.get(index).unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:582:13
[INFO] [stdout]     |
[INFO] [stdout] 582 | /             conn.call(|conn|{
[INFO] [stdout] 583 | |                 let eventDate = format!("{}Z", event.dateEnd.unwrap());
[INFO] [stdout] 584 | |                 let timestart = DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis();
[INFO] [stdout] ...   |
[INFO] [stdout] 587 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventDate` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:583:21
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 let eventDate = format!("{}Z", event.dateEnd.unwrap());
[INFO] [stdout]     |                     ^^^^^^^^^ help: convert the identifier to snake case: `event_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `codeFound` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |     let codeFound;
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `code_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamFound` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |     let teamFound;
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `team_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serializeJunctionArray` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:818:4
[INFO] [stdout]     |
[INFO] [stdout] 818 | fn serializeJunctionArray(arr: Vec<Option<String>>) -> String{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `serialize_junction_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtnStr` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:819:13
[INFO] [stdout]     |
[INFO] [stdout] 819 |     let mut rtnStr = "".to_owned();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `rtn_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserializeJunctionArray` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:831:4
[INFO] [stdout]     |
[INFO] [stdout] 831 | fn deserializeJunctionArray(str: String) -> Vec<Option<String>>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `deserialize_junction_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtnArr` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:832:13
[INFO] [stdout]     |
[INFO] [stdout] 832 |     let mut rtnArr: Vec<Option<String>> = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `rtn_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserializeJunctionArrays` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:845:4
[INFO] [stdout]     |
[INFO] [stdout] 845 | fn deserializeJunctionArrays(row: &Row, start: i32) -> Vec<Vec<Vec<Option<String>>>>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `deserialize_junction_arrays`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` should have a snake case name
[INFO] [stdout]  --> src/insights/mod.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) async fn getTeams(year: String, partial: Option<String>) -> String{
[INFO] [stdout]   |                     ^^^^^^^^ help: convert the identifier to snake case: `get_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeam` should have a snake case name
[INFO] [stdout]   --> src/insights/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) async fn getTeam(year: String, team: i32) -> String{
[INFO] [stdout]    |                     ^^^^^^^ help: convert the identifier to snake case: `get_team`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getCones` should have a snake case name
[INFO] [stdout]   --> src/insights/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) async fn getCones(year: String, team: i32) -> String{
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `get_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNum` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     teamNum: String,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamName` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     teamName: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNum` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     teamNum: String,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamName` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     teamName: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `globRankings` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     globRankings: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `glob_rankings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `districtRankings` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     districtRankings: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `district_rankings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `numGlobal` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     numGlobal: i32,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `num_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `numDistrict` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     numDistrict: String
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `num_district`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `cacheConn` should have an upper case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | static mut cacheConn: Option<Connection> = None;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 60 - static mut cacheConn: Option<Connection> = None;
[INFO] [stdout] 60 + static mut CACHE_CONN: Option<Connection> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `updateCache` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub(crate) async fn updateCache(connect: &Connection, eventslist: Option<Vec<String>>){
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `update_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let localCacheConn;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/insights/insights_2022.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |         localCacheConn = (&cacheConn).as_ref().unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 71 |         localCacheConn = (&raw const cacheConn).as_ref().unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamMap` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut bestTeamMap: HashMap<i32, Vec<f32>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `best_team_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestEventTeamMap` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut bestEventTeamMap: HashMap<i32, Vec<String>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_event_team_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamMap` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:145:17
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let teamMap = computeEventInsights(localevent.clone(), connect).await.unwrap();
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `team_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamKey` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             for teamKey in teamMap.keys(){
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `team_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tmpVec` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   let mut tmpVec = bestTeamMap.get(teamKey).unwrap().clone();
[INFO] [stdout]     |                               ^^^^^^ help: convert the identifier to snake case: `tmp_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tmpVec` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:156:37
[INFO] [stdout]     |
[INFO] [stdout] 156 | ...                   let mut tmpVec = bestEventTeamMap.get(teamKey).unwrap().clone();
[INFO] [stdout]     |                               ^^^^^^ help: convert the identifier to snake case: `tmp_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tmpVec` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:164:33
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         let mut tmpVec: Vec<String> = Vec::new();
[INFO] [stdout]     |                                 ^^^^^^ help: convert the identifier to snake case: `tmp_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nameMap` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut nameMap = database::getTeamNameMap(2022).await;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `name_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `districtMap` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let mut districtMap = database::getDistricts(2022).await;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `district_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamMapClone` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut bestTeamMapClone = bestTeamMap.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_team_map_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamMapRef` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let bestTeamMapRef = &mut bestTeamMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_team_map_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `districtCount` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut districtCount: HashMap<String, i32> = HashMap::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `district_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let teamName = nameMap.get(&team1).unwrap().clone();
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamDistrict` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let teamDistrict = districtMap.get(&team1).unwrap().clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `team_district`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcConer` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut dcConer = 0;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `dc_coner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoConer` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let mut autoConer = 0;
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `auto_coner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcOPRr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut dcOPRr = 0;
[INFO] [stdout]     |                 ^^^^^^ help: convert the identifier to snake case: `dc_oprr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoOPRr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut autoOPRr = 0;
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `auto_oprr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `penOPRr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let mut penOPRr = 0;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `pen_oprr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcConedr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut dcConedr = 0;
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `dc_conedr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoConedr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut autoConedr = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `auto_conedr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcOPRdr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let mut dcOPRdr = 0;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `dc_oprdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoOPRdr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let mut autoOPRdr = 0;
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `auto_oprdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `penOPRdr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:214:17
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut penOPRdr = 0;
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `pen_oprdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestEventTeamMapClone` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let bestEventTeamMapClone = bestEventTeamMap.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_event_team_map_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamsClone` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let bestTeamsClone = vec![bestTeamMapRef.get(&team1).unwrap().get(0).unwrap().to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_teams_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `computeEventConeComponents` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 | async fn computeEventConeComponents(eventcode: String, connect: &Connection) -> Option<HashMap<i32, Vec<f32>>>{
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_event_cone_components`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numTeams` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to snake case: `num_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scoreRowSize` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_row_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `computeEventInsights` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:404:10
[INFO] [stdout]     |
[INFO] [stdout] 404 | async fn computeEventInsights(eventcode: String, connect: &Connection) -> Option<HashMap<i32, Vec<f32>>>{
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_event_insights`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numTeams` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to snake case: `num_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scoreRowSize` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_row_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:476:21
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub(crate) async fn getTeams(partial: Option<String>) -> TeamInsightReturn{
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `get_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let localCacheConn;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/insights/insights_2022.rs:479:27
[INFO] [stdout]     |
[INFO] [stdout] 479 |         localCacheConn = ((&cacheConn).as_ref()).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 479 |         localCacheConn = ((&raw const cacheConn).as_ref()).unwrap();
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:485:17
[INFO] [stdout]     |
[INFO] [stdout] 485 |             let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeamGeneralInsights` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub(crate) async fn getTeamGeneralInsights(team: String) -> TeamInsight{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_team_general_insights`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:515:9
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let localCacheConn;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/insights/insights_2022.rs:517:26
[INFO] [stdout]     |
[INFO] [stdout] 517 |         localCacheConn = (&cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 517 |         localCacheConn = (&raw const cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamInsight` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let teamInsight = TeamInsight{
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `team_insight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getCones` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:584:21
[INFO] [stdout]     |
[INFO] [stdout] 584 | pub(crate) async fn getCones(team: i32) -> EventConesReturn{
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `get_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout] 585 |     let localCacheConn;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/insights/insights_2022.rs:587:26
[INFO] [stdout]     |
[INFO] [stdout] 587 |         localCacheConn = (&cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 587 |         localCacheConn = (&raw const cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `PowerPlay` should have a snake case name
[INFO] [stdout]  --> src/predictors/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod PowerPlay;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `power_play`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNum` should have a snake case name
[INFO] [stdout]  --> src/predictors/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     matchNum: i32,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `match_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blueWin` should have a snake case name
[INFO] [stdout]  --> src/predictors/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     blueWin: bool,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `blue_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redWin` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     redWin: bool,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `red_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `realResult` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     realResult: bool,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `real_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `realBlueWin` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     realBlueWin: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `real_blue_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `realRedWin` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     realRedWin: bool,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `real_red_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tournamentLevel` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     tournamentLevel: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tournament_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     matchNumber: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startTime` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     startTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `actualStartTime` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     actualStartTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postResultTime` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     postResultTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `post_result_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFinal` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     scoreRedFinal: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFoul` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     scoreRedFoul: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedAuto` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     scoreRedAuto: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFinal` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     scoreBlueFinal: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFoul` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     scoreBlueFoul: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueAuto` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     scoreBlueAuto: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueDriverControlled` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     scoreBlueDriverControlled: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_driver_controlled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueEndgame` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     scoreBlueEndgame: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_endgame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redWins` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     redWins: bool,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `red_wins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blueWins` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     blueWins: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `blue_wins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `modifiedOn` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     modifiedOn: Option<String>
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `modified_on`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNumber` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     teamNumber: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `team_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `noShow` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     noShow: bool
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `no_show`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getPredictions` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) async fn getPredictions(matches: Vec<Match_2022>, eventcode: String) -> Predicted_Matches{
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |         api_key_local = &API_KEY;
[INFO] [stdout]    |                         ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 49 |         api_key_local = &raw const API_KEY;
[INFO] [stdout]    |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `knownMatches` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut knownMatches: HashMap<i32, &Match_2022> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `known_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ELOs` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut ELOs: HashMap<i32, f32> = HashMap::new();
[INFO] [stdout]    |             ^^^^ help: convert the identifier to snake case: `elos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `redELO` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut redELO: f32 = 0.0;
[INFO] [stdout]    |                 ^^^^^^ help: convert the identifier to snake case: `red_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `blueELO` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut blueELO: f32 = 0.0;
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case: `blue_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ea` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let Ea = 1.0/(1.0 + 10.0_f32.powf((redELO - blueELO) / D));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `ea`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `winChange` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let winChange = K * (1.0-Ea);
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `win_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lossChange` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let lossChange = K * (1.0 - (1.0 - Ea));
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `loss_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamsArr` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |             let mut teamsArr: Vec<&Scheduled_Match_Team> = Vec::new();
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `teams_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentELO` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let currentELO = ELOs.get(&team.teamNumber.unwrap()).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: convert the identifier to snake case: `current_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentELO` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     let currentELO = ELOs.get(&team.teamNumber.unwrap()).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: convert the identifier to snake case: `current_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamsArr` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut teamsArr: Vec<&Scheduled_Match_Team> = Vec::new();
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `teams_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/insights/insights_2022.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         unsafe{
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partial`
[INFO] [stdout]    --> src/insights/insights_2022.rs:476:30
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub(crate) async fn getTeams(partial: Option<String>) -> TeamInsightReturn{
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partial`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 unsafe{
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:125:29
[INFO] [stdout]     |
[INFO] [stdout] 125 | ...                   unsafe{
[INFO] [stdout]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:152:29
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...                   unsafe{
[INFO] [stdout]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     unsafe{
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             unsafe{
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eventcode`, `eventname`, and `timestart` are never read
[INFO] [stdout]   --> src/database.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Event{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 11 |     eventcode: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     eventname: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     timestart: i32
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeAndUpdateToday` is never used
[INFO] [stdout]   --> src/database.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) async fn scrapeAndUpdateToday(){
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` is never used
[INFO] [stdout]   --> src/database.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) async fn getTeams(year: i32, partial: Option<String>) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getNumInDistrict` is never used
[INFO] [stdout]    --> src/database.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub(crate) async fn getNumInDistrict(year: i32, district: String) -> i32{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getEvents` is never used
[INFO] [stdout]    --> src/database.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) async fn getEvents(year: i32) -> Vec<Event>{
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeToday` is never used
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:202:21
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub(crate) async fn scrapeToday(conn: &Connection){
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/main.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             DEV_KEYS.push(f.to_string());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/main.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 if(!DEV_KEYS.contains(&str.as_str().to_string())){
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `conn` should have an upper case name
[INFO] [stdout]  --> src/database.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | static mut conn: Option<Connection> = None;
[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] 8 - static mut conn: Option<Connection> = None;
[INFO] [stdout] 8 + static mut CONN: Option<Connection> = None;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeAndUpdateAll` should have a snake case name
[INFO] [stdout]   --> src/database.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) async fn scrapeAndUpdateAll(){
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `scrape_and_update_all`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeAndUpdateToday` should have a snake case name
[INFO] [stdout]   --> src/database.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) async fn scrapeAndUpdateToday(){
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `scrape_and_update_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:39:35
[INFO] [stdout]    |
[INFO] [stdout] 39 |         scraper_2022::scrapeToday((&conn).as_ref().unwrap()).await;
[INFO] [stdout]    |                                   ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 39 |         scraper_2022::scrapeToday((&raw const conn).as_ref().unwrap()).await;
[INFO] [stdout]    |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeamNameMap` should have a snake case name
[INFO] [stdout]   --> src/database.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) async fn getTeamNameMap(year: i32) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_team_name_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]   --> src/database.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]    |                     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]   --> src/database.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 let teamName: String = row.get(1).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` should have a snake case name
[INFO] [stdout]   --> src/database.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) async fn getTeams(year: i32, partial: Option<String>) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `get_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]   --> src/database.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]    |                             ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]   --> src/database.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         let teamName: String = row.get(1).unwrap();
[INFO] [stdout]    |                             ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]   --> src/database.rs:81:29
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]    |                             ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]   --> src/database.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         let teamName: String = row.get(1).unwrap();
[INFO] [stdout]    |                             ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getDistricts` should have a snake case name
[INFO] [stdout]   --> src/database.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) async fn getDistricts(year: i32) -> HashMap<i32, String>{
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_districts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/database.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]    --> src/database.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]     |                     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]    --> src/database.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 let teamName: String = row.get(1).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getNumInDistrict` should have a snake case name
[INFO] [stdout]    --> src/database.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub(crate) async fn getNumInDistrict(year: i32, district: String) -> i32{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_num_in_district`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:114:26
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]     |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getEvents` should have a snake case name
[INFO] [stdout]    --> src/database.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) async fn getEvents(year: i32) -> Vec<Event>{
[INFO] [stdout]     |                     ^^^^^^^^^ help: convert the identifier to snake case: `get_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let localconn = ((&conn).as_ref()).unwrap();
[INFO] [stdout]     |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let localconn = ((&raw const conn).as_ref()).unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getMatches2022` should have a snake case name
[INFO] [stdout]    --> src/database.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub(crate) async fn getMatches2022(eventcode: Option<String>, team: Option<String>) -> Vec<Match_2022>{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_matches2022`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:148:42
[INFO] [stdout]     |
[INFO] [stdout] 148 |         return scraper_2022::deserialize((&conn).as_ref().unwrap(), eventcode, team).await;
[INFO] [stdout]     |                                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 148 |         return scraper_2022::deserialize((&raw const conn).as_ref().unwrap(), eventcode, team).await;
[INFO] [stdout]     |                                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getMatches2022Response` should have a snake case name
[INFO] [stdout]    --> src/database.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) async fn getMatches2022Response(eventcode: Option<String>) -> Match_2022_Results{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_matches2022_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/database.rs:155:48
[INFO] [stdout]     |
[INFO] [stdout] 155 |             matches: scraper_2022::deserialize((&conn).as_ref().unwrap(), eventcode, None).await
[INFO] [stdout]     |                                                ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 155 |             matches: scraper_2022::deserialize((&raw const conn).as_ref().unwrap(), eventcode, None).await
[INFO] [stdout]     |                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eventId` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     eventId: Option<String>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `divisionCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     divisionCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `division_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fieldCount` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fieldCount: i32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `field_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `typeName` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     typeName: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `type_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `regionCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     regionCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `region_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `leagueCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     leagueCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `league_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `districtCode` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     districtCode: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `district_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liveStreamUrl` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     liveStreamUrl: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `live_stream_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateStart` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dateStart: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `date_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateEnd` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     dateEnd: Option<String>
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `date_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eventCount` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     eventCount: i32
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `event_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNumber` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     teamNumber: i32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `team_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `onField` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     onField: bool
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `on_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `actualStartTime` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     actualStartTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tournamentLevel` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     tournamentLevel: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tournament_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     matchNumber: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFinal` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     scoreRedFinal: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFoul` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     scoreRedFoul: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedAuto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     scoreRedAuto: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFinal` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     scoreBlueFinal: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFoul` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     scoreBlueFoul: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueAuto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     scoreBlueAuto: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postResultTime` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     postResultTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `post_result_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `modifiedOn` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     modifiedOn: Option<String>
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `modified_on`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sideOfField` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     sideOfField: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `side_of_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve1` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     initSignalSleeve1: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve2` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     initSignalSleeve2: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot1Auto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     robot1Auto: String,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot1_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot2Auto` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     robot2Auto: String,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot2_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminal` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     autoTerminal: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctions` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     autoJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctions` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     dcJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalNear` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     dcTerminalNear: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalFar` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     dcTerminalFar: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated1` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     egNavigated1: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated2` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     egNavigated2: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `minorPenalties` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     minorPenalties: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `minor_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `majorPenalties` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     majorPenalties: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `major_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoNavigationPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     autoNavigationPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `signalBonusPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     signalBonusPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signal_bonus_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     autoJunctionConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminalConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     autoTerminalConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     dcJunctionConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalConePoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     dcTerminalConePoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownershipPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     ownershipPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ownership_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `circuitPoints` should have a snake case name
[INFO] [stdout]   --> src/scrapers/scraper_2022.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     circuitPoints: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `circuit_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigationPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     egNavigationPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     autoPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `auto_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     dcPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `dc_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endgamePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     endgamePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `endgame_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `penaltyPointsCommitted` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     penaltyPointsCommitted: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `penalty_points_committed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `prePenaltyTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     prePenaltyTotal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pre_penalty_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     autoJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     dcJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownedJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ownedJunctions: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `owned_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `totalPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     totalPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `total_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchLevel` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     matchLevel: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `match_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchSeries` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     matchSeries: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_series`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     matchNumber: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MatchScores` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     MatchScores: Vec<Match_Results_2022>
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_scores`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub matchNumber: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sideOfField` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     sideOfField: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `side_of_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve1` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     initSignalSleeve1: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initSignalSleeve2` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     initSignalSleeve2: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `init_signal_sleeve2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot1Auto` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     robot1Auto: String,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot1_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robot2Auto` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     robot2Auto: String,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `robot2_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     autoTerminal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     autoJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     dcJunctions: Vec<Vec<Vec<Option<String>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalNear` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     dcTerminalNear: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_near`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalFar` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     dcTerminalFar: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated1` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     egNavigated1: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigated2` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     egNavigated2: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigated2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `minorPenalties` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     minorPenalties: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `minor_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `majorPenalties` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     majorPenalties: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `major_penalties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoNavigationPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     autoNavigationPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `signalBonusPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     signalBonusPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signal_bonus_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     autoJunctionConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoTerminalConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     autoTerminalConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     dcJunctionConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcTerminalConePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     dcTerminalConePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_terminal_cone_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownershipPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     ownershipPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ownership_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `circuitPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     circuitPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `circuit_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `egNavigationPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     egNavigationPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eg_navigation_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     autoPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `auto_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     dcPoints: i32,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `dc_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endgamePoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     endgamePoints: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `endgame_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `penaltyPointsCommitted` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     penaltyPointsCommitted: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `penalty_points_committed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `prePenaltyTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     prePenaltyTotal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pre_penalty_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `autoJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     autoJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `auto_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dcJunctionCones` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     dcJunctionCones: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dc_junction_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownedJunctions` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     ownedJunctions: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `owned_junctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `totalPoints` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub totalPoints: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `total_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNumber` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     teamNumber: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `team_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nameFull` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     nameFull: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `name_full`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nameShort` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     nameShort: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `name_short`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `schoolName` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     schoolName: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `school_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `stateProv` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     stateProv: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `state_prov`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rookieYear` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     rookieYear: Option<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `rookie_year`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `robotName` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     robotName: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `robot_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `districtCode` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     districtCode: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `district_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `homeCMP` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     homeCMP: Option<String>
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `home_cmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamCountTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     teamCountTotal: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `team_count_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamCountPage` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     teamCountPage: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `team_count_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pageCurrent` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pageCurrent: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `page_current`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pageTotal` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pageTotal: i32
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `page_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scrapeToday` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:202:21
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub(crate) async fn scrapeToday(conn: &Connection){
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `scrape_today`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |         api_key_local = &API_KEY;
[INFO] [stdout]     |                         ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 205 |         api_key_local = &raw const API_KEY;
[INFO] [stdout]     |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventDate` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let eventDate = format!("{}Z", event.dateEnd.unwrap());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `event_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updateTeams` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:229:80
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub(crate) async fn scrape(conn: &Connection, eventslist: Option<Vec<String>>, updateTeams: bool){
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^ help: convert the identifier to snake case: `update_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:232:25
[INFO] [stdout]     |
[INFO] [stdout] 232 |         api_key_local = &API_KEY;
[INFO] [stdout]     |                         ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 232 |         api_key_local = &raw const API_KEY;
[INFO] [stdout]     |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventsExist` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let eventsExist = eventslist.is_some();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `events_exist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `results` should have an upper case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:250:16
[INFO] [stdout]     |
[INFO] [stdout] 250 |     static mut results: Vec<Match_Results_2022> = Vec::new();
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 250 -     static mut results: Vec<Match_Results_2022> = Vec::new();
[INFO] [stdout] 250 +     static mut RESULTS: Vec<Match_Results_2022> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `matches` should have an upper case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:251:16
[INFO] [stdout]     |
[INFO] [stdout] 251 |     static mut matches: Vec<EventMatchResult> = Vec::new();
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 251 -     static mut matches: Vec<EventMatchResult> = Vec::new();
[INFO] [stdout] 251 +     static mut MATCHES: Vec<EventMatchResult> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `codes` should have an upper case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:252:16
[INFO] [stdout]     |
[INFO] [stdout] 252 |     static mut codes: Vec<String> = Vec::new();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 252 -     static mut codes: Vec<String> = Vec::new();
[INFO] [stdout] 252 +     static mut CODES: Vec<String> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numToScrape` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let numToScrape = events_to_scrape.len();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `num_to_scrape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventCode` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let eventCode = events_to_scrape.get(idx).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `event_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numResults` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let numResults = matchres.matches.len();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `num_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numMatches` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let numMatches = result.MatchScores.len();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `num_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |             results.append(&mut result.MatchScores);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |             matches.append(&mut matchres.matches);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |                 codes.push(eventCode.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:313:56
[INFO] [stdout]     |
[INFO] [stdout] 313 |         println!("Scraped {} matches for season 2022", matches.len());
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |         for index in 0..matches.len(){
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:324:83
[INFO] [stdout]     |
[INFO] [stdout] 324 |                     println!("2022: Finished processing {} matches of {}", index, matches.len());
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:326:28
[INFO] [stdout]     |
[INFO] [stdout] 326 |                 let code = codes.get(index);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:328:30
[INFO] [stdout]     |
[INFO] [stdout] 328 |                 let scores = results.get(index).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 329 |                 let matchval = matches.get(index).unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:582:13
[INFO] [stdout]     |
[INFO] [stdout] 582 | /             conn.call(|conn|{
[INFO] [stdout] 583 | |                 let eventDate = format!("{}Z", event.dateEnd.unwrap());
[INFO] [stdout] 584 | |                 let timestart = DateTime::parse_from_rfc3339(&eventDate).unwrap().timestamp_millis();
[INFO] [stdout] ...   |
[INFO] [stdout] 587 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eventDate` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:583:21
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 let eventDate = format!("{}Z", event.dateEnd.unwrap());
[INFO] [stdout]     |                     ^^^^^^^^^ help: convert the identifier to snake case: `event_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `codeFound` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |     let codeFound;
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `code_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamFound` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |     let teamFound;
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `team_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serializeJunctionArray` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:818:4
[INFO] [stdout]     |
[INFO] [stdout] 818 | fn serializeJunctionArray(arr: Vec<Option<String>>) -> String{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `serialize_junction_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtnStr` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:819:13
[INFO] [stdout]     |
[INFO] [stdout] 819 |     let mut rtnStr = "".to_owned();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `rtn_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserializeJunctionArray` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:831:4
[INFO] [stdout]     |
[INFO] [stdout] 831 | fn deserializeJunctionArray(str: String) -> Vec<Option<String>>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `deserialize_junction_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rtnArr` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:832:13
[INFO] [stdout]     |
[INFO] [stdout] 832 |     let mut rtnArr: Vec<Option<String>> = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `rtn_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserializeJunctionArrays` should have a snake case name
[INFO] [stdout]    --> src/scrapers/scraper_2022.rs:845:4
[INFO] [stdout]     |
[INFO] [stdout] 845 | fn deserializeJunctionArrays(row: &Row, start: i32) -> Vec<Vec<Vec<Option<String>>>>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `deserialize_junction_arrays`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` should have a snake case name
[INFO] [stdout]  --> src/insights/mod.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) async fn getTeams(year: String, partial: Option<String>) -> String{
[INFO] [stdout]   |                     ^^^^^^^^ help: convert the identifier to snake case: `get_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeam` should have a snake case name
[INFO] [stdout]   --> src/insights/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) async fn getTeam(year: String, team: i32) -> String{
[INFO] [stdout]    |                     ^^^^^^^ help: convert the identifier to snake case: `get_team`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getCones` should have a snake case name
[INFO] [stdout]   --> src/insights/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) async fn getCones(year: String, team: i32) -> String{
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `get_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNum` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     teamNum: String,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamName` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     teamName: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNum` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     teamNum: String,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamName` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     teamName: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `globRankings` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     globRankings: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `glob_rankings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `districtRankings` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     districtRankings: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `district_rankings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `numGlobal` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     numGlobal: i32,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `num_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `numDistrict` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     numDistrict: String
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `num_district`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `cacheConn` should have an upper case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | static mut cacheConn: Option<Connection> = None;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 60 - static mut cacheConn: Option<Connection> = None;
[INFO] [stdout] 60 + static mut CACHE_CONN: Option<Connection> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `updateCache` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub(crate) async fn updateCache(connect: &Connection, eventslist: Option<Vec<String>>){
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `update_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let localCacheConn;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/insights/insights_2022.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |         localCacheConn = (&cacheConn).as_ref().unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 71 |         localCacheConn = (&raw const cacheConn).as_ref().unwrap();
[INFO] [stdout]    |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamMap` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut bestTeamMap: HashMap<i32, Vec<f32>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `best_team_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestEventTeamMap` should have a snake case name
[INFO] [stdout]   --> src/insights/insights_2022.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut bestEventTeamMap: HashMap<i32, Vec<String>> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_event_team_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamMap` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:145:17
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let teamMap = computeEventInsights(localevent.clone(), connect).await.unwrap();
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `team_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamKey` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             for teamKey in teamMap.keys(){
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `team_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tmpVec` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   let mut tmpVec = bestTeamMap.get(teamKey).unwrap().clone();
[INFO] [stdout]     |                               ^^^^^^ help: convert the identifier to snake case: `tmp_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tmpVec` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:156:37
[INFO] [stdout]     |
[INFO] [stdout] 156 | ...                   let mut tmpVec = bestEventTeamMap.get(teamKey).unwrap().clone();
[INFO] [stdout]     |                               ^^^^^^ help: convert the identifier to snake case: `tmp_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tmpVec` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:164:33
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         let mut tmpVec: Vec<String> = Vec::new();
[INFO] [stdout]     |                                 ^^^^^^ help: convert the identifier to snake case: `tmp_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nameMap` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut nameMap = database::getTeamNameMap(2022).await;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `name_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `districtMap` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let mut districtMap = database::getDistricts(2022).await;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `district_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamMapClone` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let mut bestTeamMapClone = bestTeamMap.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_team_map_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamMapRef` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let bestTeamMapRef = &mut bestTeamMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_team_map_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `districtCount` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut districtCount: HashMap<String, i32> = HashMap::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `district_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamName` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let teamName = nameMap.get(&team1).unwrap().clone();
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `team_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamDistrict` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let teamDistrict = districtMap.get(&team1).unwrap().clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `team_district`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcConer` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:204:17
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut dcConer = 0;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `dc_coner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoConer` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let mut autoConer = 0;
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `auto_coner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcOPRr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut dcOPRr = 0;
[INFO] [stdout]     |                 ^^^^^^ help: convert the identifier to snake case: `dc_oprr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoOPRr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut autoOPRr = 0;
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `auto_oprr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `penOPRr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let mut penOPRr = 0;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `pen_oprr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcConedr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut dcConedr = 0;
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `dc_conedr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoConedr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut autoConedr = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `auto_conedr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dcOPRdr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let mut dcOPRdr = 0;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `dc_oprdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `autoOPRdr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let mut autoOPRdr = 0;
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `auto_oprdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `penOPRdr` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:214:17
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut penOPRdr = 0;
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `pen_oprdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestEventTeamMapClone` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let bestEventTeamMapClone = bestEventTeamMap.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_event_team_map_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bestTeamsClone` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let bestTeamsClone = vec![bestTeamMapRef.get(&team1).unwrap().get(0).unwrap().to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_teams_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `computeEventConeComponents` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 | async fn computeEventConeComponents(eventcode: String, connect: &Connection) -> Option<HashMap<i32, Vec<f32>>>{
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_event_cone_components`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numTeams` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to snake case: `num_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scoreRowSize` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_row_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `computeEventInsights` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:404:10
[INFO] [stdout]     |
[INFO] [stdout] 404 | async fn computeEventInsights(eventcode: String, connect: &Connection) -> Option<HashMap<i32, Vec<f32>>>{
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_event_insights`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numTeams` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout] 406 | ...   let mut numTeams: usize = conn.prepare(&format!("SELECT COUNT(*) FROM (SELECT team1 FROM 'matches2022' WHERE eventcode='{}' U...
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to snake case: `num_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scoreRowSize` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut scoreRowSize = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_row_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeams` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:476:21
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub(crate) async fn getTeams(partial: Option<String>) -> TeamInsightReturn{
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `get_teams`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let localCacheConn;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/insights/insights_2022.rs:479:27
[INFO] [stdout]     |
[INFO] [stdout] 479 |         localCacheConn = ((&cacheConn).as_ref()).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 479 |         localCacheConn = ((&raw const cacheConn).as_ref()).unwrap();
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamNum` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:485:17
[INFO] [stdout]     |
[INFO] [stdout] 485 |             let teamNum: String = row.get(0).unwrap();
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `team_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTeamGeneralInsights` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub(crate) async fn getTeamGeneralInsights(team: String) -> TeamInsight{
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_team_general_insights`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:515:9
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let localCacheConn;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/insights/insights_2022.rs:517:26
[INFO] [stdout]     |
[INFO] [stdout] 517 |         localCacheConn = (&cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 517 |         localCacheConn = (&raw const cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamInsight` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let teamInsight = TeamInsight{
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `team_insight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getCones` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:584:21
[INFO] [stdout]     |
[INFO] [stdout] 584 | pub(crate) async fn getCones(team: i32) -> EventConesReturn{
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `get_cones`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localCacheConn` should have a snake case name
[INFO] [stdout]    --> src/insights/insights_2022.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout] 585 |     let localCacheConn;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `local_cache_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/insights/insights_2022.rs:587:26
[INFO] [stdout]     |
[INFO] [stdout] 587 |         localCacheConn = (&cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 587 |         localCacheConn = (&raw const cacheConn).as_ref().unwrap();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `PowerPlay` should have a snake case name
[INFO] [stdout]  --> src/predictors/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod PowerPlay;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `power_play`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNum` should have a snake case name
[INFO] [stdout]  --> src/predictors/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     matchNum: i32,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `match_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blueWin` should have a snake case name
[INFO] [stdout]  --> src/predictors/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     blueWin: bool,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `blue_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redWin` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     redWin: bool,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `red_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `realResult` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     realResult: bool,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `real_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `realBlueWin` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     realBlueWin: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `real_blue_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `realRedWin` should have a snake case name
[INFO] [stdout]   --> src/predictors/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     realRedWin: bool,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `real_red_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tournamentLevel` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     tournamentLevel: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tournament_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `matchNumber` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     matchNumber: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `match_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startTime` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     startTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `actualStartTime` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     actualStartTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postResultTime` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     postResultTime: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `post_result_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFinal` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     scoreRedFinal: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedFoul` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     scoreRedFoul: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRedAuto` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     scoreRedAuto: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `score_red_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFinal` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     scoreBlueFinal: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_final`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueFoul` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     scoreBlueFoul: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_foul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueAuto` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     scoreBlueAuto: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueDriverControlled` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     scoreBlueDriverControlled: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_driver_controlled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreBlueEndgame` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     scoreBlueEndgame: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `score_blue_endgame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redWins` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     redWins: bool,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `red_wins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blueWins` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     blueWins: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `blue_wins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `modifiedOn` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     modifiedOn: Option<String>
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `modified_on`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `teamNumber` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     teamNumber: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `team_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `noShow` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     noShow: bool
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `no_show`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getPredictions` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) async fn getPredictions(matches: Vec<Match_2022>, eventcode: String) -> Predicted_Matches{
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |         api_key_local = &API_KEY;
[INFO] [stdout]    |                         ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 49 |         api_key_local = &raw const API_KEY;
[INFO] [stdout]    |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `knownMatches` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut knownMatches: HashMap<i32, &Match_2022> = HashMap::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `known_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ELOs` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut ELOs: HashMap<i32, f32> = HashMap::new();
[INFO] [stdout]    |             ^^^^ help: convert the identifier to snake case: `elos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `redELO` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut redELO: f32 = 0.0;
[INFO] [stdout]    |                 ^^^^^^ help: convert the identifier to snake case: `red_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `blueELO` should have a snake case name
[INFO] [stdout]   --> src/predictors/PowerPlay/basic_elo_2022.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut blueELO: f32 = 0.0;
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case: `blue_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ea` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let Ea = 1.0/(1.0 + 10.0_f32.powf((redELO - blueELO) / D));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `ea`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `winChange` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let winChange = K * (1.0-Ea);
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `win_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lossChange` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let lossChange = K * (1.0 - (1.0 - Ea));
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `loss_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamsArr` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |             let mut teamsArr: Vec<&Scheduled_Match_Team> = Vec::new();
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `teams_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentELO` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let currentELO = ELOs.get(&team.teamNumber.unwrap()).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: convert the identifier to snake case: `current_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentELO` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     let currentELO = ELOs.get(&team.teamNumber.unwrap()).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: convert the identifier to snake case: `current_elo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `teamsArr` should have a snake case name
[INFO] [stdout]    --> src/predictors/PowerPlay/basic_elo_2022.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut teamsArr: Vec<&Scheduled_Match_Team> = Vec::new();
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `teams_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.58s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.42
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "cb5d11e0fa47a20d81b8e386b60cbdc1edd89b5d42193cff5d21cbf64273dfbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb5d11e0fa47a20d81b8e386b60cbdc1edd89b5d42193cff5d21cbf64273dfbe", kill_on_drop: false }`
[INFO] [stdout] cb5d11e0fa47a20d81b8e386b60cbdc1edd89b5d42193cff5d21cbf64273dfbe
