[INFO] cloning repository https://github.com/franc90/rust_advent_of_code
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/franc90/rust_advent_of_code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffranc90%2Frust_advent_of_code", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffranc90%2Frust_advent_of_code'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] beab757d2e3eac387daec2e14813d8883466df00
[INFO] testing franc90/rust_advent_of_code against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffranc90%2Frust_advent_of_code" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/franc90/rust_advent_of_code
[INFO] finished tweaking git repo https://github.com/franc90/rust_advent_of_code
[INFO] tweaked toml for git repo https://github.com/franc90/rust_advent_of_code written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/franc90/rust_advent_of_code on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/franc90/rust_advent_of_code 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 87c5d928b7a25088f5d3780d14fa08cc45362ea92130d6f99f4b50d9b5316660
[INFO] running `Command { std: "docker" "start" "-a" "87c5d928b7a25088f5d3780d14fa08cc45362ea92130d6f99f4b50d9b5316660", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87c5d928b7a25088f5d3780d14fa08cc45362ea92130d6f99f4b50d9b5316660", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87c5d928b7a25088f5d3780d14fa08cc45362ea92130d6f99f4b50d9b5316660", kill_on_drop: false }`
[INFO] [stdout] 87c5d928b7a25088f5d3780d14fa08cc45362ea92130d6f99f4b50d9b5316660
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] a32be94466549c10215e1b633ef9871d031c899567a8869e7cf6fca15c4eee9c
[INFO] running `Command { std: "docker" "start" "-a" "a32be94466549c10215e1b633ef9871d031c899567a8869e7cf6fca15c4eee9c", kill_on_drop: false }`
[INFO] [stderr]    Compiling permutohedron v0.2.4
[INFO] [stderr]    Compiling md5 v0.6.1
[INFO] [stderr]    Compiling rust_advent_of_code v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `ex4` is never used
[INFO] [stdout]   --> src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn ex4() {
[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 `ex3` is never used
[INFO] [stdout]   --> src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn ex3() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex2` is never used
[INFO] [stdout]   --> src/main.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn ex2() -> io::Result<()> {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex1` is never used
[INFO] [stdout]    --> src/main.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn ex1() {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex5` is never used
[INFO] [stdout]  --> src/exercise5.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn ex5() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_nice` is never used
[INFO] [stdout]   --> src/exercise5.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn is_nice(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_vowels` is never used
[INFO] [stdout]   --> src/exercise5.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn update_vowels(current_count: &mut i32, c: char) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_doubles` is never used
[INFO] [stdout]   --> src/exercise5.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn update_doubles(current_count: &mut i32, curr: char, last: char) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_forbiddens` is never used
[INFO] [stdout]   --> src/exercise5.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn update_forbiddens(current_val: &mut bool, curr: char, last: char) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_complex_nice` is never used
[INFO] [stdout]   --> src/exercise5.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn is_complex_nice(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_pair_appearing_twice` is never used
[INFO] [stdout]   --> src/exercise5.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn has_pair_appearing_twice(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_letter_appearing_twice` is never used
[INFO] [stdout]   --> src/exercise5.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn has_letter_appearing_twice(line: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_expected_dupplicate` is never used
[INFO] [stdout]   --> src/exercise5.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn is_expected_dupplicate(slice: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/exercise6.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/exercise6.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Point {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     fn new(x: usize, y: usize) -> Point {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/exercise6.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Grid {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, `turn_off`, `toggle`, `count_lights`, and `total_brightness` are never used
[INFO] [stdout]   --> src/exercise6.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Grid {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 25 |     fn new() -> Grid {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn turn_on(&mut self, start: &Point, end: &Point) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn turn_off(&mut self, start: &Point, end: &Point) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn toggle(&mut self, start: &Point, end: &Point) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn count_lights(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn total_brightness(&self) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> src/exercise6.rs:83:6
[INFO] [stdout]    |
[INFO] [stdout] 83 | enum Action {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex6` is never used
[INFO] [stdout]   --> src/exercise6.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn ex6() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_action` is never used
[INFO] [stdout]    --> src/exercise6.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn parse_action(token: &str) -> Action {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_point` is never used
[INFO] [stdout]    --> src/exercise6.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn parse_point(token: &str) -> Point {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_coord` is never used
[INFO] [stdout]    --> src/exercise6.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn parse_coord(txt: Option<&str>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]  --> src/exercise7.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Statement {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/exercise7.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex7` is never used
[INFO] [stdout]   --> src/exercise7.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn ex7() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_signals` is never used
[INFO] [stdout]   --> src/exercise7.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn compute_signals(code: &str) -> HashMap<String, u16> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_operations` is never used
[INFO] [stdout]   --> src/exercise7.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn read_operations(code: &str) -> HashMap<String, Operation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_signals` is never used
[INFO] [stdout]   --> src/exercise7.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn resolve_signals(operations: &mut HashMap<String, Operation>) -> HashMap<String, u16> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_if_resolved_two` is never used
[INFO] [stdout]   --> src/exercise7.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn insert_if_resolved_two<F>(resolved: &mut HashMap<String, u16>, wire_name: &str, x: &Statement, y: &Statement, f: F)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_if_resolved_one` is never used
[INFO] [stdout]    --> src/exercise7.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn insert_if_resolved_one<F>(resolved: &mut HashMap<String, u16>, wire_name: &str, x: &Statement, y: u16, f: F)
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert` is never used
[INFO] [stdout]    --> src/exercise7.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn insert(resolved: &mut HashMap<String, u16>, wire_name: &str, val: u16) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_and` is never used
[INFO] [stdout]    --> src/exercise7.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn parse_and(instr: &str) -> Operation {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_or` is never used
[INFO] [stdout]    --> src/exercise7.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn parse_or(instr: &str) -> Operation {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lshift` is never used
[INFO] [stdout]    --> src/exercise7.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn parse_lshift(instr: &str) -> Operation {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_rshift` is never used
[INFO] [stdout]    --> src/exercise7.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn parse_rshift(instr: &str) -> Operation {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_not` is never used
[INFO] [stdout]    --> src/exercise7.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn parse_not(instr: &str) -> Operation {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_with_two_args` is never used
[INFO] [stdout]    --> src/exercise7.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn parse_with_two_args(instr: &str, separator: &str) -> (Statement, Statement) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_statement` is never used
[INFO] [stdout]    --> src/exercise7.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn parse_statement(instr: &str) -> Statement {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_const` is never used
[INFO] [stdout]    --> src/exercise7.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn parse_const(instr: &str) -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/exercise8/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_diff` is never used
[INFO] [stdout]   --> src/exercise8/mod.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn print_diff((code_len, mem_len): (usize, usize)) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_lengths` is never used
[INFO] [stdout]  --> src/exercise8/decode.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn compute_lengths(lines: &str) -> (usize, usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn sanitize(line: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_first` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn drop_first(line: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_last` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn drop_last(line: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_backslashes` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn drop_backslashes(line: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_quotes` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn drop_quotes(line: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_hexes` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn drop_hexes(line: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hex` is never used
[INFO] [stdout]   --> src/exercise8/decode.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn is_hex(char: Option<char>) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_lengths` is never used
[INFO] [stdout]  --> src/exercise8/encode.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn compute_lengths(lines: &str) -> (usize, usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn encode(line: &str) -> String {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_first` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn encode_first(line: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_last` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn encode_last(mut line: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_backslashes` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn encode_backslashes(line: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_quotes` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn encode_quotes(line: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_hexes` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn encode_hexes(line: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hex` is never used
[INFO] [stdout]   --> src/exercise8/encode.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn is_hex(char: Option<char>) -> bool {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.09s
[INFO] running `Command { std: "docker" "inspect" "a32be94466549c10215e1b633ef9871d031c899567a8869e7cf6fca15c4eee9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a32be94466549c10215e1b633ef9871d031c899567a8869e7cf6fca15c4eee9c", kill_on_drop: false }`
[INFO] [stdout] a32be94466549c10215e1b633ef9871d031c899567a8869e7cf6fca15c4eee9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 75d1a4c0ec446bd263208927721f5fe7541ce1b6615d6c0306a7acce247cbe6c
[INFO] running `Command { std: "docker" "start" "-a" "75d1a4c0ec446bd263208927721f5fe7541ce1b6615d6c0306a7acce247cbe6c", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust_advent_of_code v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `ex4` is never used
[INFO] [stdout]   --> src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn ex4() {
[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 `ex3` is never used
[INFO] [stdout]   --> src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn ex3() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex2` is never used
[INFO] [stdout]   --> src/main.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn ex2() -> io::Result<()> {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex1` is never used
[INFO] [stdout]    --> src/main.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn ex1() {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex5` is never used
[INFO] [stdout]  --> src/exercise5.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn ex5() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `turn_off`, `toggle`, and `total_brightness` are never used
[INFO] [stdout]   --> src/exercise6.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Grid {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn turn_off(&mut self, start: &Point, end: &Point) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn toggle(&mut self, start: &Point, end: &Point) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn total_brightness(&self) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> src/exercise6.rs:83:6
[INFO] [stdout]    |
[INFO] [stdout] 83 | enum Action {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex6` is never used
[INFO] [stdout]   --> src/exercise6.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn ex6() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_action` is never used
[INFO] [stdout]    --> src/exercise6.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn parse_action(token: &str) -> Action {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_point` is never used
[INFO] [stdout]    --> src/exercise6.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn parse_point(token: &str) -> Point {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_coord` is never used
[INFO] [stdout]    --> src/exercise6.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn parse_coord(txt: Option<&str>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex7` is never used
[INFO] [stdout]   --> src/exercise7.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn ex7() {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert` is never used
[INFO] [stdout]    --> src/exercise7.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn insert(resolved: &mut HashMap<String, u16>, wire_name: &str, val: u16) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/exercise8/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_diff` is never used
[INFO] [stdout]   --> src/exercise8/mod.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn print_diff((code_len, mem_len): (usize, usize)) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.97s
[INFO] running `Command { std: "docker" "inspect" "75d1a4c0ec446bd263208927721f5fe7541ce1b6615d6c0306a7acce247cbe6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75d1a4c0ec446bd263208927721f5fe7541ce1b6615d6c0306a7acce247cbe6c", kill_on_drop: false }`
[INFO] [stdout] 75d1a4c0ec446bd263208927721f5fe7541ce1b6615d6c0306a7acce247cbe6c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] f8e5788775a4b6f503185fe3a107a8fa535537cf4f68873253c25bd3a6a9765e
[INFO] running `Command { std: "docker" "start" "-a" "f8e5788775a4b6f503185fe3a107a8fa535537cf4f68873253c25bd3a6a9765e", kill_on_drop: false }`
[INFO] [stderr] warning: function `ex4` is never used
[INFO] [stderr]   --> src/main.rs:27:4
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn ex4() {
[INFO] [stderr]    |    ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `ex3` is never used
[INFO] [stderr]   --> src/main.rs:46:4
[INFO] [stderr]    |
[INFO] [stderr] 46 | fn ex3() {
[INFO] [stderr]    |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ex2` is never used
[INFO] [stderr]   --> src/main.rs:87:4
[INFO] [stderr]    |
[INFO] [stderr] 87 | fn ex2() -> io::Result<()> {
[INFO] [stderr]    |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ex1` is never used
[INFO] [stderr]    --> src/main.rs:126:4
[INFO] [stderr]     |
[INFO] [stderr] 126 | fn ex1() {
[INFO] [stderr]     |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ex5` is never used
[INFO] [stderr]  --> src/exercise5.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn ex5() {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `turn_off`, `toggle`, and `total_brightness` are never used
[INFO] [stderr]   --> src/exercise6.rs:41:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl Grid {
[INFO] [stderr]    | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 41 |     fn turn_off(&mut self, start: &Point, end: &Point) {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     fn toggle(&mut self, start: &Point, end: &Point) {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     fn total_brightness(&self) -> i64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Action` is never used
[INFO] [stderr]   --> src/exercise6.rs:83:6
[INFO] [stderr]    |
[INFO] [stderr] 83 | enum Action {
[INFO] [stderr]    |      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ex6` is never used
[INFO] [stderr]   --> src/exercise6.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub fn ex6() {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_action` is never used
[INFO] [stderr]    --> src/exercise6.rs:116:4
[INFO] [stderr]     |
[INFO] [stderr] 116 | fn parse_action(token: &str) -> Action {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_point` is never used
[INFO] [stderr]    --> src/exercise6.rs:125:4
[INFO] [stderr]     |
[INFO] [stderr] 125 | fn parse_point(token: &str) -> Point {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_coord` is never used
[INFO] [stderr]    --> src/exercise6.rs:132:4
[INFO] [stderr]     |
[INFO] [stderr] 132 | fn parse_coord(txt: Option<&str>) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ex7` is never used
[INFO] [stderr]   --> src/exercise7.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn ex7() {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `insert` is never used
[INFO] [stderr]    --> src/exercise7.rs:112:4
[INFO] [stderr]     |
[INFO] [stderr] 112 | fn insert(resolved: &mut HashMap<String, u16>, wire_name: &str, val: u16) {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run` is never used
[INFO] [stderr]  --> src/exercise8/mod.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn run() {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_diff` is never used
[INFO] [stderr]   --> src/exercise8/mod.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn print_diff((code_len, mem_len): (usize, usize)) {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rust_advent_of_code` (bin "rust_advent_of_code" test) generated 15 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/rust_advent_of_code/88c8e584dc7d9f71/deps/rust_advent_of_code-88c8e584dc7d9f71)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test exercise5::tests::is_aaa_complex_nice ... ok
[INFO] [stdout] test exercise5::tests::is_dvszwmarrgswjxmb_nice ... ok
[INFO] [stdout] test exercise5::tests::is_haegwjzuvuyypxyu_nice ... ok
[INFO] [stdout] test exercise5::tests::is_aabcdefgaa_complex_nice ... ok
[INFO] [stdout] test exercise5::tests::is_ieodomkazucvgmuy_complex_nice ... ok
[INFO] [stdout] test exercise5::tests::is_ugknbfddgicrmopn_nice ... ok
[INFO] [stdout] test exercise5::tests::is_uurcxstgmygtbstg_complex_nice ... ok
[INFO] [stdout] test exercise5::tests::is_xxyxx_complex_nice ... ok
[INFO] [stdout] test exercise5::tests::is_xyxy_complex_nice ... ok
[INFO] [stdout] test exercise5::tests::is_jchzalrnumimnmhp_nice ... ok
[INFO] [stdout] test exercise7::test::test ... ok
[INFO] [stdout] test exercise8::decode::test::sanitize_empty ... ok
[INFO] [stdout] test exercise8::decode::test::sanitize_hex ... ok
[INFO] [stdout] test exercise5::tests::is_aaa_nice ... ok
[INFO] [stdout] test exercise8::decode::test::sanitize_quote ... ok
[INFO] [stdout] test exercise8::decode::test::test_compute_lengths ... ok
[INFO] [stdout] test exercise8::encode::test::encode_abc ... ok
[INFO] [stdout] test exercise8::encode::test::encode_backslash ... ok
[INFO] [stdout] test exercise8::encode::test::encode_empty ... ok
[INFO] [stdout] test exercise8::encode::test::encode_quote ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'exercise6::test::turn_on_all' (29) has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow, aborting
[INFO] [stderr] error: test failed, to rerun pass `--bin rust_advent_of_code`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/build/rust_advent_of_code/88c8e584dc7d9f71/deps/rust_advent_of_code-88c8e584dc7d9f71` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "f8e5788775a4b6f503185fe3a107a8fa535537cf4f68873253c25bd3a6a9765e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8e5788775a4b6f503185fe3a107a8fa535537cf4f68873253c25bd3a6a9765e", kill_on_drop: false }`
[INFO] [stdout] f8e5788775a4b6f503185fe3a107a8fa535537cf4f68873253c25bd3a6a9765e
