[INFO] cloning repository https://github.com/Qvist30/AocRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Qvist30/AocRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQvist30%2FAocRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQvist30%2FAocRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f5c1282c9c331d4ebabd53911e040ef670cecf1a
[INFO] testing Qvist30/AocRust against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQvist30%2FAocRust" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Qvist30/AocRust on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Qvist30/AocRust
[INFO] finished tweaking git repo https://github.com/Qvist30/AocRust
[INFO] tweaked toml for git repo https://github.com/Qvist30/AocRust written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/Qvist30/AocRust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 2b5e255b73b08e0668aecca19034cee36fa96110082d1ca0d482a0824697efa8
[INFO] running `Command { std: "docker" "start" "-a" "2b5e255b73b08e0668aecca19034cee36fa96110082d1ca0d482a0824697efa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b5e255b73b08e0668aecca19034cee36fa96110082d1ca0d482a0824697efa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b5e255b73b08e0668aecca19034cee36fa96110082d1ca0d482a0824697efa8", kill_on_drop: false }`
[INFO] [stdout] 2b5e255b73b08e0668aecca19034cee36fa96110082d1ca0d482a0824697efa8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 257bdc44ae75e9ebe4e9fc20ca8d9ef0db3a4bed542e13efc3cf7019d741b93e
[INFO] running `Command { std: "docker" "start" "-a" "257bdc44ae75e9ebe4e9fc20ca8d9ef0db3a4bed542e13efc3cf7019d741b93e", kill_on_drop: false }`
[INFO] [stderr]    Compiling math v0.0.2
[INFO] [stderr]    Compiling regex v1.3.1
[INFO] [stderr]    Compiling AocRust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/Day5_2019.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufReader, BufRead, Error, Read};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chars`, `FromStr`
[INFO] [stdout]  --> src/Day5_2019.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::{FromStr, Chars};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/Day5_2019.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Day5_2019.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/Day5_2019.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/Day5_2019.rs:43:42
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |             if(prev_op == op) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 56 |             if (operation == 99) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |             if (operation == 1) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |             } else if (operation == 2) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |             } else if (operation == 3) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |             } else if (operation == 4) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:94:23
[INFO] [stdout]    |
[INFO] [stdout] 94 |             } else if (operation == 5) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 if(*var1 != 0) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |             } else if (operation == 6) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 |                 if(*var1 == 0) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |             } else if (operation == 7) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 if(*var1 < *var2) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |             } else if (operation == 8) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 if(*var1 == *var2) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:141:23
[INFO] [stdout]     |
[INFO] [stdout] 141 |             } else if ((operation == 99)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/Day5_2019.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufReader, BufRead, Error, Read};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> src/Day5_2019.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut found:bool = false;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `noun`
[INFO] [stdout]   --> src/Day5_2019.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut noun = 0;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verb`
[INFO] [stdout]   --> src/Day5_2019.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut verb = 0;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thirdParamCode`
[INFO] [stdout]   --> src/Day5_2019.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thirdParamCode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Day5_2019.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut found:bool = false;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Day5_2019.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut noun = 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/Day5_2019.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut verb = 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/Day5_2019.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut input_id:i32 = 5;
[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/Day5_2019.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut vars: Vec<&str> = line.split(",").collect();
[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/Day5_2019.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 let mut i32Version = vars[var].parse().expect("asdf");
[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/Day5_2019.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |             let mut operation_obj = i32s.get(&(op as i32)).expect("");
[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/Day5_2019.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut operation = operation_obj % 100;
[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/Day5_2019.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let mut firstParamCode:i32 = (operation_obj/100) % 10;
[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/Day5_2019.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let mut secondParamCode:i32 = (operation_obj/1000) % 10;
[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/Day5_2019.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[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/Day5_2019.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[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/Day5_2019.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[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/Day5_2019.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut replace = i32s.get(&((op + 1) as i32)).expect("");
[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/Day5_2019.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[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/Day5_2019.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/Day5_2019.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 var1 = if firstParamCode == 0 {i32s.get(&var1).expect("") } else {var1};
[INFO] [stdout]    |                                                ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |                 i32s.insert(*replace,  var1 + var2);
[INFO] [stdout]    |                 ^^^^                   ---- immutable borrow later used here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] 123 |                 if(*var1 < *var2) {
[INFO] [stdout] 124 |                     i32s.insert(*replace, 1);
[INFO] [stdout]     |                     ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/Day5_2019.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 var1 = if firstParamCode == 0 {i32s.get(&var1).expect("") } else {var1};
[INFO] [stdout]    |                                                ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 79 |                 i32s.insert(*replace, var1 * var2);
[INFO] [stdout]    |                 ^^^^                  ---- immutable borrow later used here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 126 |                      i32s.insert(*replace, 0);
[INFO] [stdout]     |                      ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] 135 |                 if(*var1 == *var2) {
[INFO] [stdout] 136 |                     i32s.insert(*replace, 1);
[INFO] [stdout]     |                     ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 138 |                      i32s.insert(*replace, 0);
[INFO] [stdout]     |                      ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/Day5_2019.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut replace = i32s.get(&((op + 1) as i32)).expect("");
[INFO] [stdout]    |                                   ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 86 |                 i32s.insert(*replace, input_id);
[INFO] [stdout]    |                 ^^^^        -------- immutable borrow later used here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `AocRust` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `aoc_rust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Day5_2019` should have a snake case name
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod Day5_2019;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `day5_2019`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Day5_2019::main();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i32Version` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 let mut i32Version = vars[var].parse().expect("asdf");
[INFO] [stdout]    |                         ^^^^^^^^^^ help: convert the identifier to snake case: `i32_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `firstParamCode` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let mut firstParamCode:i32 = (operation_obj/100) % 10;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_param_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secondParamCode` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let mut secondParamCode:i32 = (operation_obj/1000) % 10;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `second_param_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `thirdParamCode` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `third_param_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 6.50s
[INFO] running `Command { std: "docker" "inspect" "257bdc44ae75e9ebe4e9fc20ca8d9ef0db3a4bed542e13efc3cf7019d741b93e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "257bdc44ae75e9ebe4e9fc20ca8d9ef0db3a4bed542e13efc3cf7019d741b93e", kill_on_drop: false }`
[INFO] [stdout] 257bdc44ae75e9ebe4e9fc20ca8d9ef0db3a4bed542e13efc3cf7019d741b93e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f61d98bba4de8e81f35001cb85a82b05cb90c14c2b447a5f2b5d64427b1b9f8e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f61d98bba4de8e81f35001cb85a82b05cb90c14c2b447a5f2b5d64427b1b9f8e", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling AocRust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/Day5_2019.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufReader, BufRead, Error, Read};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chars`, `FromStr`
[INFO] [stdout]  --> src/Day5_2019.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::{FromStr, Chars};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/Day5_2019.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Day5_2019.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/Day5_2019.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/Day5_2019.rs:43:42
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |             if(prev_op == op) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 56 |             if (operation == 99) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |             if (operation == 1) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |             } else if (operation == 2) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |             } else if (operation == 3) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |             } else if (operation == 4) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/Day5_2019.rs:94:23
[INFO] [stdout]    |
[INFO] [stdout] 94 |             } else if (operation == 5) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 if(*var1 != 0) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |             } else if (operation == 6) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 |                 if(*var1 == 0) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |             } else if (operation == 7) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 if(*var1 < *var2) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |             } else if (operation == 8) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 if(*var1 == *var2) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/Day5_2019.rs:141:23
[INFO] [stdout]     |
[INFO] [stdout] 141 |             } else if ((operation == 99)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/Day5_2019.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufReader, BufRead, Error, Read};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> src/Day5_2019.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut found:bool = false;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `noun`
[INFO] [stdout]   --> src/Day5_2019.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut noun = 0;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noun`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verb`
[INFO] [stdout]   --> src/Day5_2019.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut verb = 0;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thirdParamCode`
[INFO] [stdout]   --> src/Day5_2019.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thirdParamCode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Day5_2019.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut found:bool = false;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Day5_2019.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut noun = 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/Day5_2019.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut verb = 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/Day5_2019.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut input_id:i32 = 5;
[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/Day5_2019.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut vars: Vec<&str> = line.split(",").collect();
[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/Day5_2019.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 let mut i32Version = vars[var].parse().expect("asdf");
[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/Day5_2019.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |             let mut operation_obj = i32s.get(&(op as i32)).expect("");
[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/Day5_2019.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut operation = operation_obj % 100;
[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/Day5_2019.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let mut firstParamCode:i32 = (operation_obj/100) % 10;
[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/Day5_2019.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let mut secondParamCode:i32 = (operation_obj/1000) % 10;
[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/Day5_2019.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[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/Day5_2019.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[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/Day5_2019.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[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/Day5_2019.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut replace = i32s.get(&((op + 1) as i32)).expect("");
[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/Day5_2019.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[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/Day5_2019.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/Day5_2019.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 var1 = if firstParamCode == 0 {i32s.get(&var1).expect("") } else {var1};
[INFO] [stdout]    |                                                ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 68 |                 i32s.insert(*replace,  var1 + var2);
[INFO] [stdout]    |                 ^^^^                   ---- immutable borrow later used here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] 123 |                 if(*var1 < *var2) {
[INFO] [stdout] 124 |                     i32s.insert(*replace, 1);
[INFO] [stdout]     |                     ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/Day5_2019.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 var1 = if firstParamCode == 0 {i32s.get(&var1).expect("") } else {var1};
[INFO] [stdout]    |                                                ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 79 |                 i32s.insert(*replace, var1 * var2);
[INFO] [stdout]    |                 ^^^^                  ---- immutable borrow later used here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 126 |                      i32s.insert(*replace, 0);
[INFO] [stdout]     |                      ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] 135 |                 if(*var1 == *var2) {
[INFO] [stdout] 136 |                     i32s.insert(*replace, 1);
[INFO] [stdout]     |                     ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> src/Day5_2019.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stdout]     |                                   ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 138 |                      i32s.insert(*replace, 0);
[INFO] [stdout]     |                      ^^^^        -------- immutable borrow later used here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/Day5_2019.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut replace = i32s.get(&((op + 1) as i32)).expect("");
[INFO] [stdout]    |                                   ---- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 86 |                 i32s.insert(*replace, input_id);
[INFO] [stdout]    |                 ^^^^        -------- immutable borrow later used here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `AocRust` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `aoc_rust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Day5_2019` should have a snake case name
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod Day5_2019;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `day5_2019`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Day5_2019::main();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i32Version` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 let mut i32Version = vars[var].parse().expect("asdf");
[INFO] [stdout]    |                         ^^^^^^^^^^ help: convert the identifier to snake case: `i32_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `firstParamCode` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let mut firstParamCode:i32 = (operation_obj/100) % 10;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_param_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secondParamCode` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let mut secondParamCode:i32 = (operation_obj/1000) % 10;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `second_param_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `thirdParamCode` should have a snake case name
[INFO] [stdout]   --> src/Day5_2019.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `third_param_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.33s
[INFO] running `Command { std: "docker" "inspect" "f61d98bba4de8e81f35001cb85a82b05cb90c14c2b447a5f2b5d64427b1b9f8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f61d98bba4de8e81f35001cb85a82b05cb90c14c2b447a5f2b5d64427b1b9f8e", kill_on_drop: false }`
[INFO] [stdout] f61d98bba4de8e81f35001cb85a82b05cb90c14c2b447a5f2b5d64427b1b9f8e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2fb3a7d5cd9fbf64c8c48b64b6bb1db596c99a62157945e9c47d7617244d367a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2fb3a7d5cd9fbf64c8c48b64b6bb1db596c99a62157945e9c47d7617244d367a", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stderr] warning: unused import: `BufReader`
[INFO] [stdout] running 0 tests
[INFO] [stderr]  --> src/Day5_2019.rs:2:15
[INFO] [stdout] 
[INFO] [stderr]   |
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stderr] 2 | use std::io::{BufReader, BufRead, Error, Read};
[INFO] [stdout] 
[INFO] [stderr]   |               ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Chars`, `FromStr`
[INFO] [stderr]  --> src/Day5_2019.rs:3:16
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::str::{FromStr, Chars};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/Day5_2019.rs:4:24
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::{HashSet, HashMap};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `regex::Regex`
[INFO] [stderr]  --> src/Day5_2019.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use regex::Regex;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Add`
[INFO] [stderr]  --> src/Day5_2019.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::ops::Add;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/Day5_2019.rs:43:42
[INFO] [stderr]    |
[INFO] [stderr] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:51:15
[INFO] [stderr]    |
[INFO] [stderr] 51 |             if(prev_op == op) {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:56:16
[INFO] [stderr]    |
[INFO] [stderr] 56 |             if (operation == 99) {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:60:16
[INFO] [stderr]    |
[INFO] [stderr] 60 |             if (operation == 1) {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:70:23
[INFO] [stderr]    |
[INFO] [stderr] 70 |             } else if (operation == 2) {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:81:23
[INFO] [stderr]    |
[INFO] [stderr] 81 |             } else if (operation == 3) {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:88:23
[INFO] [stderr]    |
[INFO] [stderr] 88 |             } else if (operation == 4) {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/Day5_2019.rs:94:23
[INFO] [stderr]    |
[INFO] [stderr] 94 |             } else if (operation == 5) {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:101:19
[INFO] [stderr]     |
[INFO] [stderr] 101 |                 if(*var1 != 0) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:106:23
[INFO] [stderr]     |
[INFO] [stderr] 106 |             } else if (operation == 6) {
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:112:19
[INFO] [stderr]     |
[INFO] [stderr] 112 |                 if(*var1 == 0) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:117:23
[INFO] [stderr]     |
[INFO] [stderr] 117 |             } else if (operation == 7) {
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:123:19
[INFO] [stderr]     |
[INFO] [stderr] 123 |                 if(*var1 < *var2) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:129:23
[INFO] [stderr]     |
[INFO] [stderr] 129 |             } else if (operation == 8) {
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:135:19
[INFO] [stderr]     |
[INFO] [stderr] 135 |                 if(*var1 == *var2) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/Day5_2019.rs:141:23
[INFO] [stderr]     |
[INFO] [stderr] 141 |             } else if ((operation == 99)) {
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> src/Day5_2019.rs:2:26
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io::{BufReader, BufRead, Error, Read};
[INFO] [stderr]   |                          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> src/Day5_2019.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let mut found:bool = false;
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `noun`
[INFO] [stderr]   --> src/Day5_2019.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut noun = 0;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noun`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `verb`
[INFO] [stderr]   --> src/Day5_2019.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut verb = 0;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verb`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `thirdParamCode`
[INFO] [stderr]   --> src/Day5_2019.rs:43:17
[INFO] [stderr]    |
[INFO] [stderr] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thirdParamCode`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let mut found:bool = false;
[INFO] [stderr]    |         ----^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut noun = 0;
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut verb = 0;
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut input_id:i32 = 5;
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:25:17
[INFO] [stderr]    |
[INFO] [stderr] 25 |             let mut vars: Vec<&str> = line.split(",").collect();
[INFO] [stderr]    |                 ----^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |                 let mut i32Version = vars[var].parse().expect("asdf");
[INFO] [stderr]    |                     ----^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:38:17
[INFO] [stderr]    |
[INFO] [stderr] 38 |             let mut operation_obj = i32s.get(&(op as i32)).expect("");
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |             let mut operation = operation_obj % 100;
[INFO] [stderr]    |                 ----^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 |             let mut firstParamCode:i32 = (operation_obj/100) % 10;
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let mut secondParamCode:i32 = (operation_obj/1000) % 10;
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:43:17
[INFO] [stderr]    |
[INFO] [stderr] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:61:21
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]    |                     ----^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]    |                     ----^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/Day5_2019.rs:82:21
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 let mut replace = i32s.get(&((op + 1) as i32)).expect("");
[INFO] [stderr]    |                     ----^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/Day5_2019.rs:122:21
[INFO] [stderr]     |
[INFO] [stderr] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]     |                     ----^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/Day5_2019.rs:134:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]     |                     ----^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]   --> src/Day5_2019.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 var1 = if firstParamCode == 0 {i32s.get(&var1).expect("") } else {var1};
[INFO] [stderr]    |                                                ---- immutable borrow occurs here
[INFO] [stderr] ...
[INFO] [stderr] 68 |                 i32s.insert(*replace,  var1 + var2);
[INFO] [stderr]    |                 ^^^^                   ---- immutable borrow later used here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 mutable borrow occurs here
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stderr]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]    --> src/Day5_2019.rs:124:21
[INFO] [stderr]     |
[INFO] [stderr] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]     |                                   ---- immutable borrow occurs here
[INFO] [stderr] 123 |                 if(*var1 < *var2) {
[INFO] [stderr] 124 |                     i32s.insert(*replace, 1);
[INFO] [stderr]     |                     ^^^^        -------- immutable borrow later used here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     mutable borrow occurs here
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]   --> src/Day5_2019.rs:79:17
[INFO] [stderr]    |
[INFO] [stderr] 75 |                 var1 = if firstParamCode == 0 {i32s.get(&var1).expect("") } else {var1};
[INFO] [stderr]    |                                                ---- immutable borrow occurs here
[INFO] [stderr] ...
[INFO] [stderr] 79 |                 i32s.insert(*replace, var1 * var2);
[INFO] [stderr]    |                 ^^^^                  ---- immutable borrow later used here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 mutable borrow occurs here
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]    --> src/Day5_2019.rs:126:22
[INFO] [stderr]     |
[INFO] [stderr] 122 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]     |                                   ---- immutable borrow occurs here
[INFO] [stderr] ...
[INFO] [stderr] 126 |                      i32s.insert(*replace, 0);
[INFO] [stderr]     |                      ^^^^        -------- immutable borrow later used here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      mutable borrow occurs here
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]    --> src/Day5_2019.rs:136:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]     |                                   ---- immutable borrow occurs here
[INFO] [stderr] 135 |                 if(*var1 == *var2) {
[INFO] [stderr] 136 |                     i32s.insert(*replace, 1);
[INFO] [stderr]     |                     ^^^^        -------- immutable borrow later used here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     mutable borrow occurs here
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]    --> src/Day5_2019.rs:138:22
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let mut replace = i32s.get(&((op + 3) as i32)).expect("");
[INFO] [stderr]     |                                   ---- immutable borrow occurs here
[INFO] [stderr] ...
[INFO] [stderr] 138 |                      i32s.insert(*replace, 0);
[INFO] [stderr]     |                      ^^^^        -------- immutable borrow later used here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      mutable borrow occurs here
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `i32s` as mutable because it is also borrowed as immutable
[INFO] [stderr]   --> src/Day5_2019.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 let mut replace = i32s.get(&((op + 1) as i32)).expect("");
[INFO] [stderr]    |                                   ---- immutable borrow occurs here
[INFO] [stderr] ...
[INFO] [stderr] 86 |                 i32s.insert(*replace, input_id);
[INFO] [stderr]    |                 ^^^^        -------- immutable borrow later used here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 mutable borrow occurs here
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: crate `AocRust` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = help: convert the identifier to snake case: `aoc_rust`
[INFO] [stderr] 
[INFO] [stderr] warning: module `Day5_2019` should have a snake case name
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | mod Day5_2019;
[INFO] [stderr]   |     ^^^^^^^^^ help: convert the identifier to snake case: `day5_2019`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     Day5_2019::main();
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: variable `i32Version` should have a snake case name
[INFO] [stderr]   --> src/Day5_2019.rs:28:25
[INFO] [stderr]    |
[INFO] [stderr] 28 |                 let mut i32Version = vars[var].parse().expect("asdf");
[INFO] [stderr]    |                         ^^^^^^^^^^ help: convert the identifier to snake case: `i32_version`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `firstParamCode` should have a snake case name
[INFO] [stderr]   --> src/Day5_2019.rs:41:21
[INFO] [stderr]    |
[INFO] [stderr] 41 |             let mut firstParamCode:i32 = (operation_obj/100) % 10;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_param_code`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `secondParamCode` should have a snake case name
[INFO] [stderr]   --> src/Day5_2019.rs:42:21
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let mut secondParamCode:i32 = (operation_obj/1000) % 10;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `second_param_code`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `thirdParamCode` should have a snake case name
[INFO] [stderr]   --> src/Day5_2019.rs:43:21
[INFO] [stderr]    |
[INFO] [stderr] 43 |             let mut thirdParamCode:i32 = (operation_obj/10000);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `third_param_code`
[INFO] [stderr] 
[INFO] [stderr] warning: 56 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/AocRust-7d9c1a1263c5c95e
[INFO] running `Command { std: "docker" "inspect" "2fb3a7d5cd9fbf64c8c48b64b6bb1db596c99a62157945e9c47d7617244d367a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fb3a7d5cd9fbf64c8c48b64b6bb1db596c99a62157945e9c47d7617244d367a", kill_on_drop: false }`
[INFO] [stdout] 2fb3a7d5cd9fbf64c8c48b64b6bb1db596c99a62157945e9c47d7617244d367a
