[INFO] crate wyvern 1.3.1 is already in cache [INFO] extracting crate wyvern 1.3.1 into work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/wyvern/1.3.1 [INFO] extracting crate wyvern 1.3.1 into work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/wyvern/1.3.1 [INFO] validating manifest of wyvern-1.3.1 on toolchain master#9f06855064ed06a50c496577b21ca50f92a2e67d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of wyvern-1.3.1 on toolchain try#d3301713b54af69ca9de941a8c6b0d8287dbd6df [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing wyvern-1.3.1 [INFO] finished frobbing wyvern-1.3.1 [INFO] frobbed toml for wyvern-1.3.1 written to work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/wyvern/1.3.1/Cargo.toml [INFO] started frobbing wyvern-1.3.1 [INFO] finished frobbing wyvern-1.3.1 [INFO] frobbed toml for wyvern-1.3.1 written to work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/wyvern/1.3.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking wyvern-1.3.1 against try#d3301713b54af69ca9de941a8c6b0d8287dbd6df for pr-61874 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61874/worker-5/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/wyvern/1.3.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 230b3784bf1dee89ddf3e05b0d6faab88bb1ce9436d10452e718fed1a6f8d2a1 [INFO] running `"docker" "start" "-a" "230b3784bf1dee89ddf3e05b0d6faab88bb1ce9436d10452e718fed1a6f8d2a1"` [INFO] [stderr] Checking cookie v0.11.1 [INFO] [stderr] Checking os_type v2.2.0 [INFO] [stderr] Checking zip v0.5.2 [INFO] [stderr] Checking rayon v1.1.0 [INFO] [stderr] Checking console v0.7.6 [INFO] [stderr] Checking confy v0.3.1 [INFO] [stderr] Checking clap-verbosity-flag v0.2.0 [INFO] [stderr] Checking cookie_store v0.5.1 [INFO] [stderr] Checking human-panic v1.0.1 [INFO] [stderr] Checking indicatif v0.10.3 [INFO] [stderr] Checking user_agent v0.6.6 [INFO] [stderr] Checking gog v0.3.4 [INFO] [stderr] Checking wyvern v1.3.1 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:66:16 [INFO] [stderr] | [INFO] [stderr] 66 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:78:34 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn with_theme(theme: &'a Theme) -> Confirmation<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:157:34 [INFO] [stderr] | [INFO] [stderr] 157 | pub fn with_theme(theme: &'a Theme) -> Input<'a, T> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:246:34 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn with_theme(theme: &'a Theme) -> PasswordInput<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:35:34 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn with_theme(theme: &'a Theme) -> Select<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:188:34 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn with_theme(theme: &'a Theme) -> Checkboxes<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:27:37 [INFO] [stderr] | [INFO] [stderr] 27 | fn format_prompt(&self, f: &mut fmt::Write, prompt: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:45:36 [INFO] [stderr] | [INFO] [stderr] 45 | fn format_error(&self, f: &mut fmt::Write, err: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:52:17 [INFO] [stderr] | [INFO] [stderr] 52 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | fn format_password_prompt_selection(&self, f: &mut fmt::Write, prompt: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:107:17 [INFO] [stderr] | [INFO] [stderr] 107 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:168:37 [INFO] [stderr] | [INFO] [stderr] 168 | fn format_prompt(&self, f: &mut fmt::Write, prompt: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:189:36 [INFO] [stderr] | [INFO] [stderr] 189 | fn format_error(&self, f: &mut fmt::Write, err: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:228:17 [INFO] [stderr] | [INFO] [stderr] 228 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:237:17 [INFO] [stderr] | [INFO] [stderr] 237 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:253:40 [INFO] [stderr] | [INFO] [stderr] 253 | fn format_selection(&self, f: &mut fmt::Write, text: &str, st: SelectionStyle) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:291:16 [INFO] [stderr] | [INFO] [stderr] 291 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:298:43 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn new(term: &'a Term, theme: &'a Theme) -> TermThemeRenderer<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:320:67 [INFO] [stderr] | [INFO] [stderr] 320 | fn write_formatted_str fmt::Result>( [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:330:68 [INFO] [stderr] | [INFO] [stderr] 330 | fn write_formatted_line fmt::Result>( [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:340:70 [INFO] [stderr] | [INFO] [stderr] 340 | fn write_formatted_prompt fmt::Result>( [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:426:47 [INFO] [stderr] | [INFO] [stderr] 426 | pub(crate) fn get_default_theme() -> &'static Theme { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/dialoguer/src/edit.rs:114:26 [INFO] [stderr] | [INFO] [stderr] 114 | let len = rv.trim_right_matches(&['\n', '\r'][..]).len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:66:16 [INFO] [stderr] | [INFO] [stderr] 66 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:78:34 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn with_theme(theme: &'a Theme) -> Confirmation<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:157:34 [INFO] [stderr] | [INFO] [stderr] 157 | pub fn with_theme(theme: &'a Theme) -> Input<'a, T> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/prompts.rs:246:34 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn with_theme(theme: &'a Theme) -> PasswordInput<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:35:34 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn with_theme(theme: &'a Theme) -> Select<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/select.rs:188:34 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn with_theme(theme: &'a Theme) -> Checkboxes<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:27:37 [INFO] [stderr] | [INFO] [stderr] 27 | fn format_prompt(&self, f: &mut fmt::Write, prompt: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:45:36 [INFO] [stderr] | [INFO] [stderr] 45 | fn format_error(&self, f: &mut fmt::Write, err: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:52:17 [INFO] [stderr] | [INFO] [stderr] 52 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | fn format_password_prompt_selection(&self, f: &mut fmt::Write, prompt: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:107:17 [INFO] [stderr] | [INFO] [stderr] 107 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:168:37 [INFO] [stderr] | [INFO] [stderr] 168 | fn format_prompt(&self, f: &mut fmt::Write, prompt: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:189:36 [INFO] [stderr] | [INFO] [stderr] 189 | fn format_error(&self, f: &mut fmt::Write, err: &str) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:228:17 [INFO] [stderr] | [INFO] [stderr] 228 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:237:17 [INFO] [stderr] | [INFO] [stderr] 237 | f: &mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:253:40 [INFO] [stderr] | [INFO] [stderr] 253 | fn format_selection(&self, f: &mut fmt::Write, text: &str, st: SelectionStyle) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:291:16 [INFO] [stderr] | [INFO] [stderr] 291 | theme: &'a Theme, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:298:43 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn new(term: &'a Term, theme: &'a Theme) -> TermThemeRenderer<'a> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:320:67 [INFO] [stderr] | [INFO] [stderr] 320 | fn write_formatted_str fmt::Result>( [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:330:68 [INFO] [stderr] | [INFO] [stderr] 330 | fn write_formatted_line fmt::Result>( [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:340:70 [INFO] [stderr] | [INFO] [stderr] 340 | fn write_formatted_prompt fmt::Result>( [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dialoguer/src/theme.rs:426:47 [INFO] [stderr] | [INFO] [stderr] 426 | pub(crate) fn get_default_theme() -> &'static Theme { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Theme` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/dialoguer/src/edit.rs:114:26 [INFO] [stderr] | [INFO] [stderr] 114 | let len = rv.trim_right_matches(&['\n', '\r'][..]).len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dialoguer/src/select.rs:326:29 [INFO] [stderr] | [INFO] [stderr] 326 | let mut selections: Vec<_> = checked [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/dialoguer/src/select.rs:326:29 [INFO] [stderr] | [INFO] [stderr] 326 | let mut selections: Vec<_> = checked [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: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProgressStyle` [INFO] [stderr] --> src/config.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | use indicatif::{ProgressBar, ProgressStyle}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::*` [INFO] [stderr] --> src/games.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `PermissionsExt` is imported redundantly [INFO] [stderr] --> src/games.rs:524:33 [INFO] [stderr] | [INFO] [stderr] 334 | use crate::*; [INFO] [stderr] | -------- the item `PermissionsExt` is already imported here [INFO] [stderr] ... [INFO] [stderr] 524 | use std::os::unix::fs::PermissionsExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `WriteError` [INFO] [stderr] --> src/main.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | use curl::easy::{Handler, WriteError}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProgressStyle` [INFO] [stderr] --> src/config.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | use indicatif::{ProgressBar, ProgressStyle}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::*` [INFO] [stderr] --> src/games.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `PermissionsExt` is imported redundantly [INFO] [stderr] --> src/games.rs:524:33 [INFO] [stderr] | [INFO] [stderr] 334 | use crate::*; [INFO] [stderr] | -------- the item `PermissionsExt` is already imported here [INFO] [stderr] ... [INFO] [stderr] 524 | use std::os::unix::fs::PermissionsExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `WriteError` [INFO] [stderr] --> src/main.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | use curl::easy::{Handler, WriteError}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Handler` [INFO] [stderr] --> src/main.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | use curl::easy::{Handler, WriteError}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Handler` [INFO] [stderr] --> src/main.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | use curl::easy::{Handler, WriteError}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:149:33 [INFO] [stderr] | [INFO] [stderr] 149 | let mut selects = [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/main.rs:244:29 [INFO] [stderr] | [INFO] [stderr] 244 | let mut select = [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/main.rs:261:29 [INFO] [stderr] | [INFO] [stderr] 261 | let mut checks = check.with_prompt("Pick the extras you want to download"); [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/main.rs:306:29 [INFO] [stderr] | [INFO] [stderr] 306 | let mut extra = extra.expect("Couldn't fetch extra"); [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/main.rs:307:29 [INFO] [stderr] | [INFO] [stderr] 307 | let mut real_response = gog [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/main.rs:149:33 [INFO] [stderr] | [INFO] [stderr] 149 | let mut selects = [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/main.rs:244:29 [INFO] [stderr] | [INFO] [stderr] 244 | let mut select = [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/main.rs:261:29 [INFO] [stderr] | [INFO] [stderr] 261 | let mut checks = check.with_prompt("Pick the extras you want to download"); [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/main.rs:306:29 [INFO] [stderr] | [INFO] [stderr] 306 | let mut extra = extra.expect("Couldn't fetch extra"); [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/main.rs:307:29 [INFO] [stderr] | [INFO] [stderr] 307 | let mut real_response = gog [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/connect.rs:21:21 [INFO] [stderr] | [INFO] [stderr] 21 | let mut items = status.unwrap().items; [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/games.rs:27:21 [INFO] [stderr] | [INFO] [stderr] 27 | let mut downloads; [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/games.rs:221:17 [INFO] [stderr] | [INFO] [stderr] 221 | let mut response = responses.remove(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/games.rs:269:21 [INFO] [stderr] | [INFO] [stderr] 269 | let mut i = 1; [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/games.rs:284:31 [INFO] [stderr] | [INFO] [stderr] 284 | if let Ok(mut meta) = fs::metadata(&temp_name) { [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/games.rs:288:33 [INFO] [stderr] | [INFO] [stderr] 288 | let mut fd = OpenOptions::new().append(true).open(&temp_name)?; [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/connect.rs:21:21 [INFO] [stderr] | [INFO] [stderr] 21 | let mut items = status.unwrap().items; [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/interactive.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | let mut picks = check.with_prompt("Select games to download").paged(true); [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/interactive.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | let mut pick = select.with_prompt("Select game to download extras from").paged(true); [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/games.rs:27:21 [INFO] [stderr] | [INFO] [stderr] 27 | let mut downloads; [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/sync.rs:38:29 [INFO] [stderr] | [INFO] [stderr] 38 | let mut path: PathBuf; [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/sync.rs:136:29 [INFO] [stderr] | [INFO] [stderr] 136 | let mut save_db = SaveDB::load(&savedb_path).unwrap(); [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/sync.rs:226:21 [INFO] [stderr] | [INFO] [stderr] 226 | let mut dest_path = dpath.join("saves").join(&folder_name); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/games.rs:77:33 [INFO] [stderr] | [INFO] [stderr] 77 | fs::create_dir_all(path); [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/games.rs:83:29 [INFO] [stderr] | [INFO] [stderr] 83 | fs::create_dir_all(path.parent().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/games.rs:449:41 [INFO] [stderr] | [INFO] [stderr] 449 | fs::create_dir_all(new_path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/games.rs:221:17 [INFO] [stderr] | [INFO] [stderr] 221 | let mut response = responses.remove(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/games.rs:269:21 [INFO] [stderr] | [INFO] [stderr] 269 | let mut i = 1; [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/games.rs:284:31 [INFO] [stderr] | [INFO] [stderr] 284 | if let Ok(mut meta) = fs::metadata(&temp_name) { [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/games.rs:288:33 [INFO] [stderr] | [INFO] [stderr] 288 | let mut fd = OpenOptions::new().append(true).open(&temp_name)?; [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/interactive.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | let mut picks = check.with_prompt("Select games to download").paged(true); [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/interactive.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | let mut pick = select.with_prompt("Select game to download extras from").paged(true); [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/sync.rs:38:29 [INFO] [stderr] | [INFO] [stderr] 38 | let mut path: PathBuf; [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/sync.rs:136:29 [INFO] [stderr] | [INFO] [stderr] 136 | let mut save_db = SaveDB::load(&savedb_path).unwrap(); [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/sync.rs:226:21 [INFO] [stderr] | [INFO] [stderr] 226 | let mut dest_path = dpath.join("saves").join(&folder_name); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/games.rs:77:33 [INFO] [stderr] | [INFO] [stderr] 77 | fs::create_dir_all(path); [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/games.rs:83:29 [INFO] [stderr] | [INFO] [stderr] 83 | fs::create_dir_all(path.parent().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/games.rs:449:41 [INFO] [stderr] | [INFO] [stderr] 449 | fs::create_dir_all(new_path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 29.01s [INFO] running `"docker" "inspect" "230b3784bf1dee89ddf3e05b0d6faab88bb1ce9436d10452e718fed1a6f8d2a1"` [INFO] running `"docker" "rm" "-f" "230b3784bf1dee89ddf3e05b0d6faab88bb1ce9436d10452e718fed1a6f8d2a1"` [INFO] [stdout] 230b3784bf1dee89ddf3e05b0d6faab88bb1ce9436d10452e718fed1a6f8d2a1