[INFO] fetching crate wyvern 1.3.1... [INFO] extracting crate wyvern 1.3.1 into work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/reg/wyvern/1.3.1 [INFO] extracting crate wyvern 1.3.1 into work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/reg/wyvern/1.3.1 [INFO] validating manifest of wyvern-1.3.1 on toolchain master#c8865d8e195813ade6b84434ac9f8850e7112d1a [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of wyvern-1.3.1 on toolchain try#e212b7d492c96d3837691ba29d32d5f468933fb8 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-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-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/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-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/reg/wyvern/1.3.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded gog v0.3.4 [INFO] [stderr] Downloaded user_agent v0.6.6 [INFO] [stderr] Downloaded eidolon v1.4.6 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing wyvern-1.3.1 against try#e212b7d492c96d3837691ba29d32d5f468933fb8 for pr-61629 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-5/try#e212b7d492c96d3837691ba29d32d5f468933fb8:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/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" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "build" "--frozen"` [INFO] [stdout] b2c4b88fde674b6e680da838407596d421796defead5ce7463465a3ada8e1568 [INFO] running `"docker" "start" "-a" "b2c4b88fde674b6e680da838407596d421796defead5ce7463465a3ada8e1568"` [INFO] [stderr] Compiling new_debug_unreachable v1.0.3 [INFO] [stderr] Compiling curl v0.4.22 [INFO] [stderr] Compiling directories v0.10.0 [INFO] [stderr] Compiling curl-sys v0.4.18 [INFO] [stderr] Compiling debug_unreachable v0.1.1 [INFO] [stderr] Compiling socket2 v0.3.9 [INFO] [stderr] Compiling html5ever v0.18.0 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling cookie v0.11.1 [INFO] [stderr] Compiling futf v0.1.4 [INFO] [stderr] Compiling os_type v2.2.0 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling zip v0.5.2 [INFO] [stderr] Compiling h2 v0.1.23 [INFO] [stderr] Compiling string_cache_codegen v0.4.2 [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling publicsuffix v1.5.2 [INFO] [stderr] Compiling tendril v0.3.1 [INFO] [stderr] Compiling toml v0.4.10 [INFO] [stderr] Compiling indicatif v0.10.3 [INFO] [stderr] Compiling clap-verbosity-flag v0.2.0 [INFO] [stderr] Compiling string_cache v0.6.2 [INFO] [stderr] Compiling markup5ever v0.3.2 [INFO] [stderr] Compiling cookie_store v0.7.0 [INFO] [stderr] Compiling cookie_store v0.5.1 [INFO] [stderr] Compiling human-panic v1.0.1 [INFO] [stderr] Compiling confy v0.3.1 [INFO] [stderr] Compiling hyper v0.12.29 [INFO] [stderr] Compiling select v0.4.2 [INFO] [stderr] Compiling hyper-tls v0.3.2 [INFO] [stderr] Compiling reqwest v0.9.18 [INFO] [stderr] Compiling user_agent v0.6.6 [INFO] [stderr] Compiling gog v0.3.4 [INFO] [stderr] Compiling 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: 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 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/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/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 1m 37s [INFO] running `"docker" "inspect" "b2c4b88fde674b6e680da838407596d421796defead5ce7463465a3ada8e1568"` [INFO] running `"docker" "rm" "-f" "b2c4b88fde674b6e680da838407596d421796defead5ce7463465a3ada8e1568"` [INFO] [stdout] b2c4b88fde674b6e680da838407596d421796defead5ce7463465a3ada8e1568 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-5/try#e212b7d492c96d3837691ba29d32d5f468933fb8:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/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" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "test" "--frozen" "--no-run"` [INFO] [stdout] 80365e93bdbe2d78db84d825ee6882df35df958753bcf94f3c55491cf58b53e1 [INFO] running `"docker" "start" "-a" "80365e93bdbe2d78db84d825ee6882df35df958753bcf94f3c55491cf58b53e1"` [INFO] [stderr] Compiling 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: 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 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/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/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 3.71s [INFO] running `"docker" "inspect" "80365e93bdbe2d78db84d825ee6882df35df958753bcf94f3c55491cf58b53e1"` [INFO] running `"docker" "rm" "-f" "80365e93bdbe2d78db84d825ee6882df35df958753bcf94f3c55491cf58b53e1"` [INFO] [stdout] 80365e93bdbe2d78db84d825ee6882df35df958753bcf94f3c55491cf58b53e1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-5/try#e212b7d492c96d3837691ba29d32d5f468933fb8:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/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" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "test" "--frozen"` [INFO] [stdout] cf0f756201c2a7781260b5eb4dcca20dbfe95582e03978514a3e9bfd7483ff1c [INFO] running `"docker" "start" "-a" "cf0f756201c2a7781260b5eb4dcca20dbfe95582e03978514a3e9bfd7483ff1c"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running /opt/crater/target/debug/deps/dialoguer-26289c9fc6432d57 [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test select::tests::test_ref_str ... ok [INFO] [stdout] test select::tests::test_str ... ok [INFO] [stderr] Running /opt/crater/target/debug/deps/wyvern-00f0278c224c90c6 [INFO] [stdout] test select::tests::test_string ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests dialoguer [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/dialoguer/src/prompts.rs - prompts::Confirmation (line 13) ... ok [INFO] [stdout] test src/dialoguer/src/edit.rs - edit::Editor (line 14) ... ok [INFO] [stdout] test src/dialoguer/src/prompts.rs - prompts::Input (line 35) ... ok [INFO] [stdout] test src/dialoguer/src/prompts.rs - prompts::PasswordInput (line 54) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "cf0f756201c2a7781260b5eb4dcca20dbfe95582e03978514a3e9bfd7483ff1c"` [INFO] running `"docker" "rm" "-f" "cf0f756201c2a7781260b5eb4dcca20dbfe95582e03978514a3e9bfd7483ff1c"` [INFO] [stdout] cf0f756201c2a7781260b5eb4dcca20dbfe95582e03978514a3e9bfd7483ff1c