[INFO] updating cached repository https://github.com/PumpMagic/twitchplayspapermario [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 922fc2b4974931c066c58c302dcfcc79d3437326 [INFO] testing PumpMagic/twitchplayspapermario against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPumpMagic%2Ftwitchplayspapermario" "/workspace/builds/worker-14/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/PumpMagic/twitchplayspapermario on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/PumpMagic/twitchplayspapermario [INFO] finished tweaking git repo https://github.com/PumpMagic/twitchplayspapermario [INFO] tweaked toml for git repo https://github.com/PumpMagic/twitchplayspapermario written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/PumpMagic/twitchplayspapermario already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] error: the lock file /workspace/builds/worker-14/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 02ab8c9fa171be03a676b1191813a61b2c11ebc8a82fc1ee4b58afc9756d5827 [INFO] running `"docker" "start" "-a" "02ab8c9fa171be03a676b1191813a61b2c11ebc8a82fc1ee4b58afc9756d5827"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling winapi v0.3.8 [INFO] [stderr] Compiling user32-sys v0.2.0 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling tppm v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0432]: unresolved imports `time::Timespec`, `time::get_time` [INFO] [stderr] --> src/demc/mod.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | use time::{Timespec, Duration, get_time}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ no `get_time` in the root [INFO] [stderr] | | [INFO] [stderr] | no `Timespec` in the root [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `self::platform` [INFO] [stderr] --> src/keystroke/mod.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | pub use self::platform::{press_key, release_key}; [INFO] [stderr] | ^^^^^^^^ could not find `platform` in `self` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `self::platform` [INFO] [stderr] --> src/keystroke/mod.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | pub use self::platform::{send_key, send_combo}; [INFO] [stderr] | ^^^^^^^^ could not find `platform` in `self` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `self::platform` [INFO] [stderr] --> src/keystroke/mod.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | pub use self::platform::{send_char, send_str}; [INFO] [stderr] | ^^^^^^^^ could not find `platform` in `self` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `get_time` in crate `time` [INFO] [stderr] --> src/demc/mod.rs:415:38 [INFO] [stderr] | [INFO] [stderr] 415 | let time_now = time::get_time(); [INFO] [stderr] | ^^^^^^^^ not found in `time` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/tmi/irc/mod.rs:431:9 [INFO] [stderr] | [INFO] [stderr] 431 | try!(IrcStream::send_message(stream, pass_message)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/tmi/irc/mod.rs:432:9 [INFO] [stderr] | [INFO] [stderr] 432 | try!(IrcStream::send_message(stream, nick_message)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/tmi/irc/mod.rs:440:9 [INFO] [stderr] | [INFO] [stderr] 440 | try!(IrcStream::send_message(stream, join_message)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/tmi/irc/mod.rs:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | try!(IrcStream::send_message(stream, pong_message)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:82:25 [INFO] [stderr] | [INFO] [stderr] 82 | thread::sleep_ms(500); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | thread::sleep_ms(500); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:152:78 [INFO] [stderr] | [INFO] [stderr] 152 | Err(reason) => panic!("Couldn't open chat log file for writing! {}", std::error::Error::description(&reason)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/tmi/irc/mod.rs:392:49 [INFO] [stderr] | [INFO] [stderr] 392 | ... Err(_) => { thread::sleep_ms(100); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/demc/mod.rs:466:49 [INFO] [stderr] | [INFO] [stderr] 466 | ... thread::sleep_ms(command_clone.duration.num_milliseconds() as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/demc/mod.rs:565:17 [INFO] [stderr] | [INFO] [stderr] 565 | thread::sleep_ms(1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `lookup` found for reference `&toml::Value` in the current scope [INFO] [stderr] --> src/tmi/mod.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | match tree.lookup(value) { [INFO] [stderr] | ^^^^^^ method not found in `&toml::Value` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_empty` found for struct `regex::Match<'_>` in the current scope [INFO] [stderr] --> src/tmi/irc/mod.rs:50:32 [INFO] [stderr] | [INFO] [stderr] 50 | if servername_nick_str.is_empty() { [INFO] [stderr] | ^^^^^^^^ method not found in `regex::Match<'_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:56:48 [INFO] [stderr] | [INFO] [stderr] 56 | servername_nick: FromStr::from_str(servername_nick_str).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:58:54 [INFO] [stderr] | [INFO] [stderr] 58 | Some(user) => Some(FromStr::from_str(user).unwrap()), [INFO] [stderr] | ^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:62:54 [INFO] [stderr] | [INFO] [stderr] 62 | Some(host) => Some(FromStr::from_str(host).unwrap()), [INFO] [stderr] | ^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:234:60 [INFO] [stderr] | [INFO] [stderr] 234 | Some(prefix_str) => match Prefix::from_str(prefix_str) { [INFO] [stderr] | ^^^^^^^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:242:62 [INFO] [stderr] | [INFO] [stderr] 242 | Some(command_str) => match Command::from_str(command_str){ [INFO] [stderr] | ^^^^^^^^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:259:44 [INFO] [stderr] | [INFO] [stderr] 259 | let caps = re.captures(params_str).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `trim` found for struct `regex::Match<'_>` in the current scope [INFO] [stderr] --> src/tmi/irc/mod.rs:268:55 [INFO] [stderr] | [INFO] [stderr] 268 | ... for middle in middles_str.trim().split(" ") { [INFO] [stderr] | ^^^^ method not found in `regex::Match<'_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tmi/irc/mod.rs:276:82 [INFO] [stderr] | [INFO] [stderr] 276 | Some(trailing_str) => { paramvec.push(FromStr::from_str(trailing_str).unwrap()) }, [INFO] [stderr] | ^^^^^^^^^^^^ expected `&str`, found struct `regex::Match` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `pos` found for struct `regex::Captures<'_>` in the current scope [INFO] [stderr] --> src/demc/mod.rs:161:44 [INFO] [stderr] | [INFO] [stderr] 161 | let (cap_start, cap_end) = cap.pos(0).unwrap(); [INFO] [stderr] | ^^^ method not found in `regex::Captures<'_>` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:185:62 [INFO] [stderr] | [INFO] [stderr] 185 | cumulative_delay += command.duration.num_milliseconds() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for struct `regex::Match<'_>` in the current scope [INFO] [stderr] --> src/demc/mod.rs:207:33 [INFO] [stderr] | [INFO] [stderr] 207 | match jscap.parse::() { [INFO] [stderr] | ^^^^^ method not found in `regex::Match<'_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:214:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] 214 | "cup" => { joystick_direction = 90; joystick_name = "c_stick"; }, [INFO] [stderr] | ^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:215:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] 214 | "cup" => { joystick_direction = 90; joystick_name = "c_stick"; }, [INFO] [stderr] 215 | "cdown" => { joystick_direction = 270; joystick_name = "c_stick"; }, [INFO] [stderr] | ^^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 216 | "cleft" => { joystick_direction = 180; joystick_name = "c_stick"; }, [INFO] [stderr] | ^^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:217:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 217 | "cright" => { joystick_direction = 0; joystick_name = "c_stick"; }, [INFO] [stderr] | ^^^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:218:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 218 | "up" => { joystick_direction = 90; joystick_name = "control_stick"; }, [INFO] [stderr] | ^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:219:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 219 | "down" => { joystick_direction = 270; joystick_name = "control_stick"; }, [INFO] [stderr] | ^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:220:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 220 | "left" => { joystick_direction = 180; joystick_name = "control_stick"; }, [INFO] [stderr] | ^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:221:25 [INFO] [stderr] | [INFO] [stderr] 213 | match jdcap { [INFO] [stderr] | ----- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 221 | "right" => { joystick_direction = 0; joystick_name = "control_stick"; }, [INFO] [stderr] | ^^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for struct `regex::Match<'_>` in the current scope [INFO] [stderr] --> src/demc/mod.rs:228:33 [INFO] [stderr] | [INFO] [stderr] 228 | match jdcap.parse::() { [INFO] [stderr] | ^^^^^ method not found in `regex::Match<'_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:234:43 [INFO] [stderr] | [INFO] [stderr] 234 | if jdcap_units == "s" { [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:259:70 [INFO] [stderr] | [INFO] [stderr] 259 | ... cumulative_delay += command.duration.num_milliseconds() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:260:53 [INFO] [stderr] | [INFO] [stderr] 260 | ... if command.duration.num_milliseconds() >= JOYSTICK_TO_BUTTON_UNDELAY as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:265:70 [INFO] [stderr] | [INFO] [stderr] 265 | ... cumulative_delay += command.duration.num_milliseconds() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for struct `regex::Match<'_>` in the current scope [INFO] [stderr] --> src/demc/mod.rs:286:33 [INFO] [stderr] | [INFO] [stderr] 286 | match bdcap.parse::() { [INFO] [stderr] | ^^^^^ method not found in `regex::Match<'_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:292:43 [INFO] [stderr] | [INFO] [stderr] 292 | if bdcap_units == "s" { [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:302:21 [INFO] [stderr] | [INFO] [stderr] 301 | let max_duration = match button_name { [INFO] [stderr] | ----------- this expression has type `regex::Match<'_>` [INFO] [stderr] 302 | "b" => MAX_B_BUTTON_COMMAND_DURATION, [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:303:21 [INFO] [stderr] | [INFO] [stderr] 301 | let max_duration = match button_name { [INFO] [stderr] | ----------- this expression has type `regex::Match<'_>` [INFO] [stderr] 302 | "b" => MAX_B_BUTTON_COMMAND_DURATION, [INFO] [stderr] 303 | "x" => MAX_X_BUTTON_COMMAND_DURATION, [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:304:21 [INFO] [stderr] | [INFO] [stderr] 301 | let max_duration = match button_name { [INFO] [stderr] | ----------- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 304 | "r" => MAX_R_BUTTON_COMMAND_DURATION, [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 301 | let max_duration = match button_name { [INFO] [stderr] | ----------- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 305 | "start" => MAX_START_BUTTON_COMMAND_DURATION, [INFO] [stderr] | ^^^^^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `std::string::String: std::convert::From>` is not satisfied [INFO] [stderr] --> src/demc/mod.rs:315:81 [INFO] [stderr] | [INFO] [stderr] 315 | ... command: virtc::Input::Button(String::from(button_name), true)}; [INFO] [stderr] | ^^^^^^^^^^^^ the trait `std::convert::From>` is not implemented for `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] >> [INFO] [stderr] >> [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for struct `regex::Match<'_>` in the current scope [INFO] [stderr] --> src/demc/mod.rs:321:29 [INFO] [stderr] | [INFO] [stderr] 321 | match dncap.parse::() { [INFO] [stderr] | ^^^^^ method not found in `regex::Match<'_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:327:39 [INFO] [stderr] | [INFO] [stderr] 327 | if dncap_units == "s" { [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:335:77 [INFO] [stderr] | [INFO] [stderr] 335 | Some(command) => { cumulative_delay += command.duration.num_milliseconds() as u32; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 343 | match dcap { [INFO] [stderr] | ---- this expression has type `regex::Match<'_>` [INFO] [stderr] 344 | "+" => { cumulative_delay += MILLISECONDS_PER_FRAME; }, [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:345:21 [INFO] [stderr] | [INFO] [stderr] 343 | match dcap { [INFO] [stderr] | ---- this expression has type `regex::Match<'_>` [INFO] [stderr] 344 | "+" => { cumulative_delay += MILLISECONDS_PER_FRAME; }, [INFO] [stderr] 345 | "!" => { [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/demc/mod.rs:352:21 [INFO] [stderr] | [INFO] [stderr] 343 | match dcap { [INFO] [stderr] | ---- this expression has type `regex::Match<'_>` [INFO] [stderr] ... [INFO] [stderr] 352 | "." => { [INFO] [stderr] | ^^^ expected struct `regex::Match`, found `&str` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:347:85 [INFO] [stderr] | [INFO] [stderr] 347 | ... Some(command) => { cumulative_delay += command.duration.num_milliseconds() as u32; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:354:85 [INFO] [stderr] | [INFO] [stderr] 354 | ... Some(command) => { cumulative_delay += command.duration.num_milliseconds() as u32; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'time::Duration::num_milliseconds': Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`. [INFO] [stderr] --> src/demc/mod.rs:466:89 [INFO] [stderr] | [INFO] [stderr] 466 | ... thread::sleep_ms(command_clone.duration.num_milliseconds() as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 39 previous errors; 19 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0425, E0432, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `tppm`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "02ab8c9fa171be03a676b1191813a61b2c11ebc8a82fc1ee4b58afc9756d5827"` [INFO] running `"docker" "rm" "-f" "02ab8c9fa171be03a676b1191813a61b2c11ebc8a82fc1ee4b58afc9756d5827"` [INFO] [stdout] 02ab8c9fa171be03a676b1191813a61b2c11ebc8a82fc1ee4b58afc9756d5827