Skip to content

ci: update minimum macOS supported version to Ventura (13) #1379

ci: update minimum macOS supported version to Ventura (13)

ci: update minimum macOS supported version to Ventura (13) #1379

Triggered via pull request November 25, 2024 18:42
Status Success
Total duration 5m 56s
Artifacts

build.yaml

on: pull_request
Matrix: App
Fit to window
Zoom out
Zoom in

Annotations

94 warnings
useless use of `format!`: src/main.rs#L45
warning: useless use of `format!` --> src/main.rs:45:25 | 45 | let mut dialog_text = format!("Unrecoverable crash occurred!"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unrecoverable crash occurred!".to_string()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format
current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.64.0`: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.41.0/src/macros/select.rs#L515
warning: current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.64.0` --> src/util/process.rs:61:5 | 61 | / tokio::select! { 62 | | Ok(Some(line)) = stdout_reader.next_line() => { 63 | | let formatted_line = format!("{line}\n"); 64 | | log_file.write_all(formatted_line.as_bytes()).await?; ... | 93 | | } 94 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv = note: this warning originates in the macro `$crate::select` which comes from the expansion of the macro `tokio::select` (in Nightly builds, run with -Z macro-backtrace for more info)
current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.64.0`: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.41.0/src/macros/select.rs#L505
warning: current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.64.0` --> src/util/process.rs:61:5 | 61 | / tokio::select! { 62 | | Ok(Some(line)) = stdout_reader.next_line() => { 63 | | let formatted_line = format!("{line}\n"); 64 | | log_file.write_all(formatted_line.as_bytes()).await?; ... | 93 | | } 94 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv = note: this warning originates in the macro `$crate::select` which comes from the expansion of the macro `tokio::select` (in Nightly builds, run with -Z macro-backtrace for more info)
unneeded `return` statement: src/util/process.rs#L96
warning: unneeded `return` statement --> src/util/process.rs:96:3 | 96 | return Ok(process_status); | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 96 - return Ok(process_status); 96 + Ok(process_status) |
unneeded `return` statement: src/util/os.rs#L17
warning: unneeded `return` statement --> src/util/os.rs:17:3 | 17 | return None; | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 17 - return None; 17 + None |
unneeded `return` statement: src/util/game_tests.rs#L181
warning: unneeded `return` statement --> src/util/game_tests.rs:181:7 | 181 | / return Err(CommandError::BinaryExecution( 182 | | "GPU test failed, no exit-code returned".to_owned(), 183 | | )) | |________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 181 ~ Err(CommandError::BinaryExecution( 182 + "GPU test failed, no exit-code returned".to_owned(), 183 + )) |
unneeded `return` statement: src/util/game_tests.rs#L175
warning: unneeded `return` statement --> src/util/game_tests.rs:175:9 | 175 | / return Err(CommandError::BinaryExecution( 176 | | "GPU Test failed with a non-zero exit code".to_owned(), 177 | | )); | |__________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 175 ~ Err(CommandError::BinaryExecution( 176 + "GPU Test failed with a non-zero exit code".to_owned(), 177 ~ )) |
unneeded `return` statement: src/util/game_tests.rs#L169
warning: unneeded `return` statement --> src/util/game_tests.rs:169:13 | 169 | / return Err(CommandError::BinaryExecution( 170 | | "Unable to parse GPU test result".to_owned(), 171 | | )); | |______________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 169 ~ Err(CommandError::BinaryExecution( 170 + "Unable to parse GPU test result".to_owned(), 171 ~ )) |
unneeded `return` statement: src/util/game_tests.rs#L165
warning: unneeded `return` statement --> src/util/game_tests.rs:165:13 | 165 | return Ok(test_results); | ^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 165 - return Ok(test_results); 165 + Ok(test_results) |
this expression creates a reference which is immediately dereferenced by the compiler: src/util/game_tests.rs#L49
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/util/game_tests.rs:49:83 | 49 | let tooling_version = Version::parse(active_version.strip_prefix('v').unwrap_or(&active_version)) | ^^^^^^^^^^^^^^^ help: change this to: `active_version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
unneeded `return` statement: src/util/game_milestones.rs#L19
warning: unneeded `return` statement --> src/util/game_milestones.rs:19:3 | 19 | / return vec![ 20 | | MilestoneCriteria { 21 | | name: "geyser".to_string(), 22 | | completed: vec![], ... | 227 | | }, 228 | | ]; | |___^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 19 ~ vec![ 20 + MilestoneCriteria { 21 + name: "geyser".to_string(), 22 + completed: vec![], 23 + introduced: vec![], 24 + }, 25 + MilestoneCriteria { 26 + // (village1-yakow 10) 27 + // (village1-mayor-money 11) 28 + // (village1-uncle-money 12) 29 + // (village1-oracle-money1 13) 30 + // (village1-oracle-money2 14) 31 + // (beach-ecorocks 15) 32 + // (village1-buzzer 75) 33 + name: "sandover".to_string(), 34 + completed: vec![10, 11, 12, 13, 14, 75], 35 + introduced: vec![15], 36 + }, 37 + MilestoneCriteria { 38 + // (beach-ecorocks 15) 39 + // (beach-pelican 16) 40 + // (beach-flutflut 17) 41 + // (beach-seagull 18) 42 + // (beach-cannon 19) 43 + // (beach-buzzer 20) 44 + // (beach-gimmie 21) 45 + // (beach-sentinel 22) 46 + name: "sentinel".to_string(), 47 + completed: vec![15, 16, 17, 18, 19, 20, 21, 22], 48 + introduced: vec![], 49 + }, 50 + MilestoneCriteria { 51 + // (jungle-eggtop 2) 52 + // (jungle-lurkerm 3) 53 + // (jungle-tower 4) 54 + // (jungle-fishgame 5) 55 + // (jungle-plant 6) 56 + // (jungle-buzzer 7) 57 + // (jungle-canyon-end 8) 58 + // (jungle-temple-door 9) 59 + name: "jungle".to_string(), 60 + completed: vec![2, 3, 4, 5, 6, 7, 8, 9], 61 + introduced: vec![], 62 + }, 63 + MilestoneCriteria { 64 + // (misty-muse 23) 65 + // (misty-boat 24) 66 + // (misty-warehouse 25) 67 + // (misty-cannon 26) 68 + // (misty-bike 27) 69 + // (misty-buzzer 28) 70 + // (misty-bike-jump 29) 71 + // (misty-eco-challenge 30) 72 + // (leaving-misty 114) 73 + name: "misty".to_string(), 74 + completed: vec![23, 24, 25, 26, 27, 28, 29, 30, 114], 75 + introduced: vec![], 76 + }, 77 + MilestoneCriteria { 78 + // (firecanyon-buzzer 68) 79 + // (firecanyon-end 69) 80 + // (firecanyon-assistant 102) 81 + name: "firecanyon".to_string(), 82 + completed: vec![68, 69], 83 + introduced: vec![102], 84 + }, 85 + MilestoneCriteria { 86 + // (village2-gambler-money 31) 87 + // (village2-geologist-money 32) 88 + // (village2-warrior-money 33) 89 + // (village2-oracle-money1 34) 90 + // (village2-oracle-money2 35) 91 + // (firecanyon-buzzer 68) 92 + // (firecanyon-end 69) 93 + // (village2-buzzer 76) 94 + // (firecanyon-assistant 102) 95 + name: "village2".to_string(), 96 + completed: vec![31, 32, 33, 34, 35, 68, 69], 97 + introduced: vec![76, 102], 98 + }, 99 + MilestoneCriteria { 100 + // (rolling-race 52) 101 + // (rolling-robbers 53) 102 + // (rolling-moles 54) 103 + // (rolling-plants 55) 104 + // (rolling-lake 56) 105 + // (rolling-buzzer 57) 106 + // (rolling-ring-chase-1 58) 107 + // (rolling-ring-chase-2 59) 108 + name: "basin".to_string(), 109 + completed: vec![52, 53, 54, 55, 56, 57, 58, 59], 110 + introduced: vec![], 111 + }, 112 + MilestoneCriteria { 113 + // (swamp-billy 36) 114 + // (swamp-flutflut 37) 115 + // (swamp-battle 38) 116 + // (swamp-tether-1 39) 117 + // (swamp-tether-2 40) 118 + // (swamp-tether-3 41) 119 + // (swamp-tether-4 42) 120 + // (swamp-buzzer 43) 121 + // (swamp-arm 104) 122 + name: "swamp".to_string(), 123 + completed: vec![36, 37, 38, 39, 40, 41, 42, 43, 104], 124 + introduced: vec![], 125 + }, 126 + MilestoneCriteria { 127 + // (sunken-platforms 44) 128 + // (sunken-pipe 45) 129 + // (sunken-slide 46) 130 + // (sunken-room 47) 131 + // (sunken-sharks 48) 132 + // (sunken-buzzer 49) 133 + // (sunken-top-of-helix 50) 134 + // (sunken-spinning-room 51) 135 + name: "lpc".to_string(), 136 + completed: vec![44, 45, 46, 47, 48, 49, 50, 51], 137 + introduced: vec![], 138 + }, 139 + MilestoneCriteria { 140 + // (ogre-boss 86) 141 + // (village2-levitator 103) 142 + name: "klaww".to_string(), 143 + completed: vec![103], 144 + introduced: vec![86], 145 + }, 146 + MilestoneCriteria { 147 + // (ogre-boss 86) 148 + // (ogre-end 87) 149 + // (ogre-buzzer 88) 150 + // (ogre-secret 110) 151 + name: "mountainpass".to_string(), 152 + completed: vec![86, 88, 110], 153 + introduced: vec![87], 154 + }, 155 + MilestoneCriteria { 156 + // (village3-extra1 74) 157 + // (village3-buzzer 77) 158 + // (village3-miner-money1 96) 159 + // (village3-miner-money2 97) 160 + // (village3-miner-money3 98) 161 + // (village3-miner-money4 99) 162 + // (village3-oracle-money1 100) 163 + // (village3-oracle-money2 101) 164 + // (village3-button 105) 165 + name: "village3".to_string(), 166 + completed: vec![74, 77, 96, 97, 98, 99, 100, 101, 105], 167 + introduced: vec![], 168 + }, 169 + MilestoneCriteria { 170 + // (cave-gnawers 78) 171 + // (cave-dark-crystals 79) 172 + // (cave-dark-climb 80) 173 + // (cave-robot-climb 81) 174 + // (cave-swing-poles 82) 175 + // (cave-spider-tunnel 83) 176 + // (cave-platforms 84) 177 + // (cave-buzzer 85) 178 + name: "cave".to_string(), 179 + completed: vec![78, 79, 80, 81, 82, 83, 84, 85], 180 + introduced: vec![], 181 + }, 182 + MilestoneCriteria { 183 + // (snow-eggtop 60) 184 + // (snow-ram 61) 185 + // (snow-fort 62) 186 + // (snow-ball 63) 187 + // (snow-bunnies 64) 188 + // (snow-buzzer 65) 189 + // (snow-bumpers 66) 190 + // (snow-cage 67) 191 + name: "snowy".to_string(), 192 + completed: vec![60, 61, 62, 63, 64, 65, 66, 67], 193 + introduced: vec![], 194 + }, 195 + MilestoneCriteria { 196 + // (lavatube-end 89) 197 + // (lavatube-buzzer 90) 198 + // (lavatube-balls 107) 199 + // (lavatube-start 108) 200 + // (assistant-village3 115) 201 + name: "lavatube".to_string(), 202 + completed: vec![90, 107, 108, 115], 203 + introduced: vec![89], 204 + }, 205 + MilestoneCriteria { 206 + // (citadel-sage-green 70) 207 + // (citadel-sage-blue 71) 208 + // (citadel-sage-red 72) 209 + // (citadel-sage-yellow 73) 210 + // (lavatube-end 89) 211 + // (citadel-buzzer 91) 212 + name: "citadel".to_string(), 213 + completed: vec![71, 72, 73, 89, 91], 214 + introduced: vec![70], 215 + }, 216 + MilestoneCriteria { 217 + // (citadel-sage-green 70) 218 + name: "finalboss".to_string(), 219 + completed: vec![70], 220 + introduced: vec![], 221 + }, 222 + MilestoneCriteria { 223 + // (finalboss-movies 112) 224 + name: "end".to_string(), 225 + completed: vec![], 226 + introduced: vec![112], 227 + }, 228 ~ ] |
unneeded `return` statement: src/util/file.rs#L78
warning: unneeded `return` statement --> src/util/file.rs:78:3 | 78 | / return format!( 79 | | "data:image/{};base64,{}", 80 | | get_image_file_type(&hex), 81 | | base64.replace("\r\n", "") 82 | | ); | |___^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 78 ~ format!( 79 + "data:image/{};base64,{}", 80 + get_image_file_type(&hex), 81 + base64.replace("\r\n", "") 82 ~ ) |
file opened with `create`, but `truncate` behavior not defined: src/util/file.rs#L52
warning: file opened with `create`, but `truncate` behavior not defined --> src/util/file.rs:52:6 | 52 | .create(true) | ^^^^^^^^^^^^- help: add: `.truncate(true)` | = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` = help: alternatively, use `.append(true)` to append to the file instead of overwriting it = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options = note: `#[warn(clippy::suspicious_open_options)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): src/config.rs#L681
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> src/config.rs:681:10 | 681 | if (mod_source_index as usize) < sources.len() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `mod_source_index` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
this expression creates a reference which is immediately dereferenced by the compiler: src/config.rs#L658
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/config.rs:658:58 | 658 | let game_config = self.get_supported_game_config_mut(&game_name)?; | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.70.0`: src/config.rs#L320
warning: current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.70.0` --> src/config.rs:320:18 | 320 | .is_some_and(|x| x != "official") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.70.0`: src/config.rs#L308
warning: current MSRV (Minimum Supported Rust Version) is `1.61.0` but this item is stable since `1.70.0` --> src/config.rs:308:16 | 308 | .is_some_and(|x| x != "official") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv = note: `#[warn(clippy::incompatible_msrv)]` on by default
unneeded `return` statement: src/config.rs#L269
warning: unneeded `return` statement --> src/config.rs:269:9 | 269 | / return Err(ConfigError::Configuration(format!( 270 | | "Supported game missing from games map: {game_name}" 271 | | ))); | |___________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 269 ~ Err(ConfigError::Configuration(format!( 270 + "Supported game missing from games map: {game_name}" 271 ~ ))) |
unneeded `return` statement: src/config.rs#L248
warning: unneeded `return` statement --> src/config.rs:248:9 | 248 | / return Err(ConfigError::Configuration(format!( 249 | | "Supported game missing from games map: {game_name}" 250 | | ))); | |___________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 248 ~ Err(ConfigError::Configuration(format!( 249 + "Supported game missing from games map: {game_name}" 250 ~ ))) |
the borrowed expression implements the required traits: src/commands/support.rs#L470
warning: the borrowed expression implements the required traits --> src/commands/support.rs:470:14 | 470 | fs::rename(&save_file.path(), save_path).map_err(|_| { | ^^^^^^^^^^^^^^^^^ help: change this to: `save_file.path()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/support.rs#L231
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/support.rs:231:19 | 231 | &mod_path, | ^^^^^^^^^ help: change this to: `mod_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/support.rs#L219
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/support.rs:219:19 | 219 | &mod_path, | ^^^^^^^^^ help: change this to: `mod_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
the borrowed expression implements the required traits: src/commands/support.rs#L196
warning: the borrowed expression implements the required traits --> src/commands/support.rs:196:58 | 196 | let mod_directory = install_path.join("features").join(&game_name).join("mods"); | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L165
warning: the borrowed expression implements the required traits --> src/commands/support.rs:165:44 | 165 | let data_dir = active_version_dir.join(&game_name).join("data"); | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L153
warning: the borrowed expression implements the required traits --> src/commands/support.rs:153:11 | 153 | .join(&game_name) | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L150
warning: the borrowed expression implements the required traits --> src/commands/support.rs:150:11 | 150 | .join(&game_name) | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L144
warning: the borrowed expression implements the required traits --> src/commands/support.rs:144:11 | 144 | .join(&game_name) | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L134
warning: the borrowed expression implements the required traits --> src/commands/support.rs:134:46 | 134 | let jak1_log_dir = active_version_dir.join(&game_name).join("data").join("log"); | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L124
warning: the borrowed expression implements the required traits --> src/commands/support.rs:124:27 | 124 | &game_config_dir.join(&game_name).join("saves"), | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L115
warning: the borrowed expression implements the required traits --> src/commands/support.rs:115:27 | 115 | &game_config_dir.join(&game_name).join("misc"), | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/support.rs#L106
warning: the borrowed expression implements the required traits --> src/commands/support.rs:106:27 | 106 | &game_config_dir.join(&game_name).join("settings"), | ^^^^^^^^^^ help: change this to: `game_name` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/commands/game.rs#L221
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/commands/game.rs:221:9 | 221 | / match get_saves_highest_milestone(&entry.into_path(), &milestones) { 222 | | Some((name, idx)) => { 223 | | info!("Furthest milestone {} at index {}", name, idx); 224 | | if idx > highest_milestone_idx { ... | 229 | | None => {} 230 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 221 ~ if let Some((name, idx)) = get_saves_highest_milestone(&entry.into_path(), &milestones) { 222 + info!("Furthest milestone {} at index {}", name, idx); 223 + if idx > highest_milestone_idx { 224 + highest_milestone_idx = idx; 225 + furthest_milestone_name = name.to_owned(); 226 + } 227 + } |
unneeded `return` statement: src/commands/game.rs#L235
warning: unneeded `return` statement --> src/commands/game.rs:235:3 | 235 | return Ok(furthest_milestone_name); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 235 - return Ok(furthest_milestone_name); 235 + Ok(furthest_milestone_name) |
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/game.rs#L157
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/game.rs:157:48 | 157 | if tasks.contains_key(&task_id) && tasks[&task_id].completed { | ^^^^^^^^ help: change this to: `task_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/game.rs#L157
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/game.rs:157:29 | 157 | if tasks.contains_key(&task_id) && tasks[&task_id].completed { | ^^^^^^^^ help: change this to: `task_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/game.rs#L152
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/game.rs:152:48 | 152 | if tasks.contains_key(&task_id) && tasks[&task_id].introduced { | ^^^^^^^^ help: change this to: `task_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/game.rs#L152
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/game.rs:152:29 | 152 | if tasks.contains_key(&task_id) && tasks[&task_id].introduced { | ^^^^^^^^ help: change this to: `task_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: src/commands/game.rs#L111
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> src/commands/game.rs:111:15 | 111 | milestones: &Vec<MilestoneCriteria>, | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[MilestoneCriteria]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg = note: `#[warn(clippy::ptr_arg)]` on by default
unneeded `return` statement: src/commands/game.rs#L163
warning: unneeded `return` statement --> src/commands/game.rs:163:3 | 163 | return None; | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 163 - return None; 163 + None |
the borrowed expression implements the required traits: src/commands/features/texture_packs.rs#L317
warning: the borrowed expression implements the required traits --> src/commands/features/texture_packs.rs:317:22 | 317 | match delete_dir(&texture_pack_dir.join(&pack)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `texture_pack_dir.join(&pack)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/commands/features/texture_packs.rs#L270
warning: the borrowed expression implements the required traits --> src/commands/features/texture_packs.rs:270:13 | 270 | .join(&pack) | ^^^^^ help: change this to: `pack` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/texture_packs.rs#L220
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/texture_packs.rs:220:35 | 220 | extract_zip_file(&zip_path_buf, &destination_dir, false).map_err(|err| { | ^^^^^^^^^^^^^^^^ help: change this to: `destination_dir` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
you seem to be trying to use `match` for an equality check. Consider using `if`: src/commands/features/texture_packs.rs#L127
warning: you seem to be trying to use `match` for an equality check. Consider using `if` --> src/commands/features/texture_packs.rs:127:7 | 127 | / match entry_path.join("metadata.json").exists() { 128 | | true => { 129 | | match std::fs::read_to_string(entry_path.join("metadata.json")) { 130 | | Ok(content) => { ... | 155 | | false => {} 156 | | } | |_______^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match = note: `#[warn(clippy::single_match)]` on by default help: try | 127 ~ if entry_path.join("metadata.json").exists() == true { 128 + match std::fs::read_to_string(entry_path.join("metadata.json")) { 129 + Ok(content) => { 130 + // Serialize from json 131 + match serde_json::from_str::<TexturePackInfo>(&content) { 132 + Ok(pack_metadata) => { 133 + pack_info.name = pack_metadata.name; 134 + pack_info.version = pack_metadata.version; 135 + pack_info.author = pack_metadata.author; 136 + pack_info.release_date = pack_metadata.release_date; 137 + pack_info.description = pack_metadata.description; 138 + pack_info.tags = pack_metadata.tags; 139 + } 140 + Err(err) => { 141 + log::error!("Unable to parse {}: {}", &content, err); 142 + } 143 + } 144 + } 145 + Err(err) => { 146 + log::error!( 147 + "Unable to read {}: {}", 148 + entry_path.join("metadata.json").display(), 149 + err 150 + ); 151 + } 152 + }; 153 + } |
the borrowed expression implements the required traits: src/commands/features/texture_packs.rs#L94
warning: the borrowed expression implements the required traits --> src/commands/features/texture_packs.rs:94:17 | 94 | / &entry_path 95 | | .join("custom_assets") 96 | | .join(&game_name) 97 | | .join("texture_replacements"), | |_______________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 94 ~ entry_path 95 + .join("custom_assets") 96 + .join(&game_name) 97 ~ .join("texture_replacements"), |
unneeded `return` statement: src/commands/features/mods.rs#L965
warning: unneeded `return` statement --> src/commands/features/mods.rs:965:7 | 965 | / return Err(CommandError::BinaryExecution( 966 | | "Unable to launch REPL".to_owned(), 967 | | )); | |________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 965 ~ Err(CommandError::BinaryExecution( 966 + "Unable to launch REPL".to_owned(), 967 ~ )) |
unnecessary use of `to_string`: src/commands/features/mods.rs#L763
warning: unnecessary use of `to_string` --> src/commands/features/mods.rs:763:31 | 763 | return Ok(to_image_base64(&cover_path.to_string_lossy().to_string())); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `cover_path.to_string_lossy().as_ref()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned
unnecessary use of `to_string`: src/commands/features/mods.rs#L738
warning: unnecessary use of `to_string` --> src/commands/features/mods.rs:738:31 | 738 | return Ok(to_image_base64(&cover_path.to_string_lossy().to_string())); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `cover_path.to_string_lossy().as_ref()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned = note: `#[warn(clippy::unnecessary_to_owned)]` on by default
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L176
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:176:49 | 176 | extract_and_delete_tar_ball(&download_path, &parent_path).map_err(|err| { | ^^^^^^^^^^^^ help: change this to: `parent_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L176
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:176:33 | 176 | extract_and_delete_tar_ball(&download_path, &parent_path).map_err(|err| { | ^^^^^^^^^^^^^^ help: change this to: `download_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L171
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:171:49 | 171 | extract_and_delete_zip_file(&download_path, &parent_path, false).map_err(|err| { | ^^^^^^^^^^^^ help: change this to: `parent_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L171
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:171:33 | 171 | extract_and_delete_zip_file(&download_path, &parent_path, false).map_err(|err| { | ^^^^^^^^^^^^^^ help: change this to: `download_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L156
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:156:32 | 156 | download_file(&download_url, &download_path) | ^^^^^^^^^^^^^^ help: change this to: `download_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
unneeded `return` statement: src/commands/features/mods.rs#L186
warning: unneeded `return` statement --> src/commands/features/mods.rs:186:3 | 186 | / return Ok(InstallStepOutput { 187 | | success: true, 188 | | msg: None, 189 | | }); | |____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 186 ~ Ok(InstallStepOutput { 187 + success: true, 188 + msg: None, 189 ~ }) |
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L109
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:109:40 | 109 | extract_tar_ball(&bundle_path_buf, &destination_dir).map_err(|err| { | ^^^^^^^^^^^^^^^^ help: change this to: `destination_dir` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/features/mods.rs#L104
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/features/mods.rs:104:40 | 104 | extract_zip_file(&bundle_path_buf, &destination_dir, false).map_err(|err| { | ^^^^^^^^^^^^^^^^ help: change this to: `destination_dir` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/config.rs#L507
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/config.rs:507:80 | 507 | let tooling_version = Version::parse(version.strip_prefix('v').unwrap_or(&version)) | ^^^^^^^^ help: change this to: `version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/config.rs#L466
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/config.rs:466:80 | 466 | let tooling_version = Version::parse(version.strip_prefix('v').unwrap_or(&version)) | ^^^^^^^^ help: change this to: `version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
unneeded `return` statement: src/commands/config.rs#L293
warning: unneeded `return` statement --> src/commands/config.rs:293:3 | 293 | return is_game_installed_impl(&mut config_lock, game_name); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 293 - return is_game_installed_impl(&mut config_lock, game_name); 293 + is_game_installed_impl(&mut config_lock, game_name) |
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/config.rs#L220
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/config.rs:220:83 | 220 | let tooling_version = Version::parse(active_version.strip_prefix('v').unwrap_or(&active_version)) | ^^^^^^^^^^^^^^^ help: change this to: `active_version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
unneeded `return` statement: src/commands/config.rs#L138
warning: unneeded `return` statement --> src/commands/config.rs:138:3 | 138 | return Ok(false); | ^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 138 - return Ok(false); 138 + Ok(false) |
unneeded `return` statement: src/commands/config.rs#L112
warning: unneeded `return` statement --> src/commands/config.rs:112:3 | 112 | / return Err(CommandError::Configuration( 113 | | "Unable to find relevant drive to check for space".to_owned(), 114 | | )); | |____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 112 ~ Err(CommandError::Configuration( 113 + "Unable to find relevant drive to check for space".to_owned(), 114 ~ )) |
the borrowed expression implements the required traits: src/commands/config.rs#L23
warning: the borrowed expression implements the required traits --> src/commands/config.rs:23:32 | 23 | Some(dir) => Ok(delete_dir(&dir.join("data"))?), | ^^^^^^^^^^^^^^^^^ help: change this to: `dir.join("data")` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
unneeded `return` statement: src/commands/binaries.rs#L802
warning: unneeded `return` statement --> src/commands/binaries.rs:802:68 | 802 | log::error!("Error occured when tracking playtime: {}", err); | ____________________________________________________________________^ 803 | | return; | |____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 802 - log::error!("Error occured when tracking playtime: {}", err); 803 - return; 802 + log::error!("Error occured when tracking playtime: {}", err); |
this boolean expression can be simplified: src/commands/binaries.rs#L785
warning: this boolean expression can be simplified --> src/commands/binaries.rs:785:12 | 785 | if !status_code.code().is_some() || status_code.code().unwrap() != 0 { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `status_code.code().is_none()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool = note: `#[warn(clippy::nonminimal_bool)]` on by default
useless use of `format!`: src/commands/binaries.rs#L736
warning: useless use of `format!` --> src/commands/binaries.rs:736:52 | 736 | return Err(CommandError::BinaryExecution(format!( | ____________________________________________________^ 737 | | "Failed to resolve custom binary parent directory" 738 | | ))); | |___________^ help: consider using `.to_string()`: `"Failed to resolve custom binary parent directory".to_string()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format = note: `#[warn(clippy::useless_format)]` on by default
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/binaries.rs#L660
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/binaries.rs:660:34 | 660 | let data_folder = get_data_dir(&config_info, &game_name, false)?; | ^^^^^^^^^^^^ help: change this to: `config_info` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
unneeded `return` statement: src/commands/binaries.rs#L647
warning: unneeded `return` statement --> src/commands/binaries.rs:647:7 | 647 | / return Err(CommandError::BinaryExecution( 648 | | "Unable to launch REPL".to_owned(), 649 | | )); | |________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 647 ~ Err(CommandError::BinaryExecution( 648 + "Unable to launch REPL".to_owned(), 649 ~ )) |
this expression creates a reference which is immediately dereferenced by the compiler: src/commands/binaries.rs#L77
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/commands/binaries.rs:77:83 | 77 | let tooling_version = Version::parse(active_version.strip_prefix('v').unwrap_or(&active_version)) | ^^^^^^^^^^^^^^^ help: change this to: `active_version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
field `tooling_version` is never read: src/util/game_tests.rs#L19
warning: field `tooling_version` is never read --> src/util/game_tests.rs:19:3 | 15 | struct CommonConfigData { | ---------------- field in this struct ... 19 | tooling_version: Version, | ^^^^^^^^^^^^^^^
variant `ModSource` is never constructed: src/cache.rs#L12
warning: variant `ModSource` is never constructed --> src/cache.rs:12:3 | 10 | pub enum CacheError { | ---------- variant in this enum 11 | #[error("{0}")] 12 | ModSource(String), | ^^^^^^^^^ | = note: `CacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis = note: `#[warn(dead_code)]` on by default
variable does not need to be mutable: src/commands/features/mods.rs#L714
warning: variable does not need to be mutable --> src/commands/features/mods.rs:714:7 | 714 | let mut child = command.spawn()?; | ----^^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `child`: src/commands/features/mods.rs#L714
warning: unused variable: `child` --> src/commands/features/mods.rs:714:11 | 714 | let mut child = command.spawn()?; | ^^^^^ help: if this is intentional, prefix it with an underscore: `_child` | = note: `#[warn(unused_variables)]` on by default
value assigned to `process_status` is never read: src/util/process.rs#L58
warning: value assigned to `process_status` is never read --> src/util/process.rs:58:11 | 58 | let mut process_status = None; | ^^^^^^^^^^^^^^ | = help: maybe it is overwritten before being read? = note: `#[warn(unused_assignments)]` on by default
use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead: src/main.rs#L59
warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead --> src/main.rs:59:34 | 59 | fn panic_hook(info: &std::panic::PanicInfo) { | ^^^^^^^^^
use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead: src/main.rs#L21
warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead --> src/main.rs:21:46 | 21 | fn log_crash(panic_info: Option<&std::panic::PanicInfo>, error: Option<tauri::Error>) { | ^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default
redundant field names in struct initialization: src/util/game_tests.rs#L56
warning: redundant field names in struct initialization --> src/util/game_tests.rs:56:5 | 56 | tooling_version: tooling_version, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tooling_version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names
unused import: `BufRead`: src/util/file.rs#L9
warning: unused import: `BufRead` --> src/util/file.rs:9:8 | 9 | io::{BufRead, Read}, | ^^^^^^^
unused import: `FromBase64`: src/util/file.rs#L5
warning: unused import: `FromBase64` --> src/util/file.rs:5:31 | 5 | use rustc_serialize::base64::{FromBase64, ToBase64, MIME}; | ^^^^^^^^^^
unused import: `tauri::Manager`: src/commands/util.rs#L2
warning: unused import: `tauri::Manager` --> src/commands/util.rs:2:5 | 2 | use tauri::Manager; | ^^^^^^^^^^^^^^
unused import: `crate::util::os::get_installed_vcc_runtime`: src/commands/config.rs#L3
warning: unused import: `crate::util::os::get_installed_vcc_runtime` --> src/commands/config.rs:3:5 | 3 | use crate::util::os::get_installed_vcc_runtime; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
redundant field names in struct initialization: src/commands/binaries.rs#L84
warning: redundant field names in struct initialization --> src/commands/binaries.rs:84:5 | 84 | tooling_version: tooling_version, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tooling_version` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names = note: `#[warn(clippy::redundant_field_names)]` on by default
unused import: `create_dir`: src/commands/binaries.rs#L22
warning: unused import: `create_dir` --> src/commands/binaries.rs:22:12 | 22 | file::{create_dir, overwrite_dir}, | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
App (ubuntu-20.04)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (ubuntu-20.04)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (ubuntu-20.04)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (ubuntu-20.04)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (macos-13)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (macos-13)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (macos-13)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (macos-13)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (windows-latest)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (windows-latest)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (windows-latest)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
App (windows-latest)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/