[INFO] cloning repository https://github.com/CerulanLumina/whereisclass
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CerulanLumina/whereisclass" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCerulanLumina%2Fwhereisclass", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCerulanLumina%2Fwhereisclass'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f5402cdceb298e5b0178bdd60905741fa863c403
[INFO] checking CerulanLumina/whereisclass against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCerulanLumina%2Fwhereisclass" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CerulanLumina/whereisclass
[INFO] finished tweaking git repo https://github.com/CerulanLumina/whereisclass
[INFO] tweaked toml for git repo https://github.com/CerulanLumina/whereisclass written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CerulanLumina/whereisclass on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CerulanLumina/whereisclass 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e924ab15156ded4144744b727eb12479ce67e16652d310bdad4d411357f5b9ee
[INFO] running `Command { std: "docker" "start" "-a" "e924ab15156ded4144744b727eb12479ce67e16652d310bdad4d411357f5b9ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e924ab15156ded4144744b727eb12479ce67e16652d310bdad4d411357f5b9ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e924ab15156ded4144744b727eb12479ce67e16652d310bdad4d411357f5b9ee", kill_on_drop: false }`
[INFO] [stdout] e924ab15156ded4144744b727eb12479ce67e16652d310bdad4d411357f5b9ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2fdfe8787e6ad68d1d8b571b370795a0eec890db26192565b404a6dc14644559
[INFO] running `Command { std: "docker" "start" "-a" "2fdfe8787e6ad68d1d8b571b370795a0eec890db26192565b404a6dc14644559", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.124
[INFO] [stderr]    Compiling syn v1.0.91
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]     Checking new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking dtoa-short v0.3.3
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking servo_arc v0.1.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]    Compiling getrandom v0.2.6
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking thin-slice v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking parking_lot_core v0.9.2
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking ego-tree v0.6.2
[INFO] [stderr]     Checking parking_lot v0.12.0
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]    Compiling selectors v0.22.0
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]    Compiling cssparser v0.27.2
[INFO] [stderr]    Compiling html5ever v0.25.2
[INFO] [stderr]    Compiling cssparser-macros v0.6.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking string_cache v0.8.4
[INFO] [stderr]     Checking scraper v0.12.0
[INFO] [stderr]     Checking whereisclass v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `parser::htmlparser::CourseDBHTMLParseError`
[INFO] [stdout]  --> src/parser/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{parser::htmlparser::CourseDBHTMLParseError, CourseDB};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/parser/htmlparser.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |     static ref DAY_REGEX: Regex = { Regex::new(r"^[MTWRF]*$").unwrap() };
[INFO] [stdout]    |                                   ^^                                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 28 -     static ref DAY_REGEX: Regex = { Regex::new(r"^[MTWRF]*$").unwrap() };
[INFO] [stdout] 28 +     static ref DAY_REGEX: Regex = Regex::new(r"^[MTWRF]*$").unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/models.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             x => Err(DayParseError(from.into())),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/main.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             db,
[INFO] [stdout]    |             ^^ help: try ignoring the field: `db: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/main.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             room,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `room: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `day`
[INFO] [stdout]   --> src/main.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             day,
[INFO] [stdout]    |             ^^^ help: try ignoring the field: `day: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/main.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             time,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `time: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             db,
[INFO] [stdout]    |             ^^ help: try ignoring the field: `db: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `day`
[INFO] [stdout]   --> src/main.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             day,
[INFO] [stdout]    |             ^^^ help: try ignoring the field: `day: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_start`
[INFO] [stdout]   --> src/main.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             time_start,
[INFO] [stdout]    |             ^^^^^^^^^^ help: try ignoring the field: `time_start: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_end`
[INFO] [stdout]   --> src/main.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             time_end,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `time_end: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut f = File::open(parse_args.file);
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FindCourseInRoomAtTime` is never used
[INFO] [stdout]  --> src/actions.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait FindCourseInRoomAtTime {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FindEmptyRooms` is never used
[INFO] [stdout]   --> src/actions.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait FindEmptyRooms {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `time` is never used
[INFO] [stdout]   --> src/models.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl TimeCode {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 87 |     pub fn time(&self) -> u16 { self.time }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `input` is never used
[INFO] [stdout]    --> src/models.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl TimeCodeParseError {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn input(&self) -> &str { self.input.as_str() }
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<models::CourseDB, CourseDBParseError>
[INFO] [stdout]   --> src/main.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 | /                     parser
[INFO] [stdout] 82 | |                         .parse(content.as_str())
[INFO] [stdout]    | |________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]   --> src/actions.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |             .map(|a| a.clone().clone())
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         db: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/opt.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         room: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         db: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     /// Input file to parse
[INFO] [stdout] 58 | |     pub file: PathBuf,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     /// Output file to write, will not overwrite unless --force is specified
[INFO] [stdout] 61 | |     pub output: PathBuf,
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<models::CourseDB, CourseDBParseError>
[INFO] [stdout]   --> src/parser/htmlparser.rs:34:74
[INFO] [stdout]    |
[INFO] [stdout] 34 |       fn parse(&self, input: &str) -> Result<CourseDB, CourseDBParseError> {
[INFO] [stdout]    |  __________________________________________________________________________^
[INFO] [stdout] 35 | |         Ok(parse_html_lossy(input))
[INFO] [stdout] 36 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<models::CourseDB, CourseDBParseError>
[INFO] [stdout]   --> src/parser/htmlparser.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         Ok(parse_html_lossy(input))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `whereisclass` (bin "whereisclass" test) due to 8 previous errors; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `parser::htmlparser::CourseDBHTMLParseError`
[INFO] [stdout]  --> src/parser/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{parser::htmlparser::CourseDBHTMLParseError, CourseDB};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/parser/htmlparser.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |     static ref DAY_REGEX: Regex = { Regex::new(r"^[MTWRF]*$").unwrap() };
[INFO] [stdout]    |                                   ^^                                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 28 -     static ref DAY_REGEX: Regex = { Regex::new(r"^[MTWRF]*$").unwrap() };
[INFO] [stdout] 28 +     static ref DAY_REGEX: Regex = Regex::new(r"^[MTWRF]*$").unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/models.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             x => Err(DayParseError(from.into())),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/main.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             db,
[INFO] [stdout]    |             ^^ help: try ignoring the field: `db: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/main.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             room,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `room: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `day`
[INFO] [stdout]   --> src/main.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             day,
[INFO] [stdout]    |             ^^^ help: try ignoring the field: `day: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/main.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             time,
[INFO] [stdout]    |             ^^^^ help: try ignoring the field: `time: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             db,
[INFO] [stdout]    |             ^^ help: try ignoring the field: `db: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `day`
[INFO] [stdout]   --> src/main.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             day,
[INFO] [stdout]    |             ^^^ help: try ignoring the field: `day: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_start`
[INFO] [stdout]   --> src/main.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             time_start,
[INFO] [stdout]    |             ^^^^^^^^^^ help: try ignoring the field: `time_start: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_end`
[INFO] [stdout]   --> src/main.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             time_end,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `time_end: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut f = File::open(parse_args.file);
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FindCourseInRoomAtTime` is never used
[INFO] [stdout]  --> src/actions.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait FindCourseInRoomAtTime {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FindEmptyRooms` is never used
[INFO] [stdout]   --> src/actions.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait FindEmptyRooms {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `time` is never used
[INFO] [stdout]   --> src/models.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl TimeCode {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 87 |     pub fn time(&self) -> u16 { self.time }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `input` is never used
[INFO] [stdout]    --> src/models.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl TimeCodeParseError {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn input(&self) -> &str { self.input.as_str() }
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<models::CourseDB, CourseDBParseError>
[INFO] [stdout]   --> src/main.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 | /                     parser
[INFO] [stdout] 82 | |                         .parse(content.as_str())
[INFO] [stdout]    | |________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]   --> src/actions.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |             .map(|a| a.clone().clone())
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         db: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/opt.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         room: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         db: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     /// Input file to parse
[INFO] [stdout] 58 | |     pub file: PathBuf,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/opt.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     /// Output file to write, will not overwrite unless --force is specified
[INFO] [stdout] 61 | |     pub output: PathBuf,
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<models::CourseDB, CourseDBParseError>
[INFO] [stdout]   --> src/parser/htmlparser.rs:34:74
[INFO] [stdout]    |
[INFO] [stdout] 34 |       fn parse(&self, input: &str) -> Result<CourseDB, CourseDBParseError> {
[INFO] [stdout]    |  __________________________________________________________________________^
[INFO] [stdout] 35 | |         Ok(parse_html_lossy(input))
[INFO] [stdout] 36 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<models::CourseDB, CourseDBParseError>
[INFO] [stdout]   --> src/parser/htmlparser.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         Ok(parse_html_lossy(input))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `whereisclass` (bin "whereisclass") due to 8 previous errors; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2fdfe8787e6ad68d1d8b571b370795a0eec890db26192565b404a6dc14644559", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fdfe8787e6ad68d1d8b571b370795a0eec890db26192565b404a6dc14644559", kill_on_drop: false }`
[INFO] [stdout] 2fdfe8787e6ad68d1d8b571b370795a0eec890db26192565b404a6dc14644559
