[INFO] updating cached repository https://github.com/andrensegura/rpg [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] aefc832ae2d5e0ad373ffc90e5246e1cd9fe5c02 [INFO] checking andrensegura/rpg against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrensegura%2Frpg" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/andrensegura/rpg on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/andrensegura/rpg [INFO] finished tweaking git repo https://github.com/andrensegura/rpg [INFO] tweaked toml for git repo https://github.com/andrensegura/rpg written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/andrensegura/rpg already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Updating git repository `https://github.com/andrensegura/lib_andre` [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 1739fddc300a4a44bdf53e2f117fb53512c30b74828316e548e9b0b660645828 [INFO] running `"docker" "start" "-a" "1739fddc300a4a44bdf53e2f117fb53512c30b74828316e548e9b0b660645828"` [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Checking lib_andre v0.1.2 (https://github.com/andrensegura/lib_andre#48714433) [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking rpg v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | let mut player = try!(intro()); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 69 | if try!(battle(&mut player, level)) != 0 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | try!(prompt("Press enter to continue...")); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | try!(allocate(5, &mut player.attributes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | try!(allocate(unallocated, &mut player.attributes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | try!(prompt("Are you ready?: ")); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | println!("{}", try!(print_file("log/log.rpg"))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | try!(calculate_stats(&monster.attributes, &monster.item, &mut monster.stats)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:223:35 [INFO] [stderr] | [INFO] [stderr] 223 | let response: Vec = try!(prompt("What attribute? (str/vit/agi/dex/luk): ")) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | try!(calculate_stats(&player.attributes, &player.item, &mut player.stats)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:311:23 [INFO] [stderr] | [INFO] [stderr] 311 | let mut monster = try!(spawn_monster(level)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:314:35 [INFO] [stderr] | [INFO] [stderr] 314 | let response: Vec = try!(prompt("command: ")) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:325:22 [INFO] [stderr] | [INFO] [stderr] 325 | try!(log(format!("Dealt {} damage!", player_damage))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:327:25 [INFO] [stderr] | [INFO] [stderr] 327 | try!(show_log()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:333:22 [INFO] [stderr] | [INFO] [stderr] 333 | try!(log(format!("You healed for {}", heal))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:342:9 [INFO] [stderr] | [INFO] [stderr] 342 | try!(show_log()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | try!(log(format!("Took {} damage!", monster_damage))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:347:9 [INFO] [stderr] | [INFO] [stderr] 347 | try!(show_log()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:66:33 [INFO] [stderr] | [INFO] [stderr] 66 | fn try_main() -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [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/main.rs:86:36 [INFO] [stderr] | [INFO] [stderr] 86 | fn intro() -> Result>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:147:41 [INFO] [stderr] | [INFO] [stderr] 147 | fn log(event: String) -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:163:33 [INFO] [stderr] | [INFO] [stderr] 163 | fn show_log() -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:168:54 [INFO] [stderr] | [INFO] [stderr] 168 | fn spawn_monster(level: u32) -> Result> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:219:68 [INFO] [stderr] | [INFO] [stderr] 219 | fn allocate(total: u32, attributes: &mut Attr) -> Result >{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:265:89 [INFO] [stderr] | [INFO] [stderr] 265 | fn calculate_stats(attributes: &Attr, item: &Attr, stats: &mut Stats) -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/main.rs:282:3 [INFO] [stderr] | [INFO] [stderr] 282 | / ((agent_attack as f64 * 0.9) as u32 [INFO] [stderr] 283 | | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] 284 | | + { if (rand::random::() % 100) <= agent_critch { [INFO] [stderr] 285 | | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] ... | [INFO] [stderr] 289 | | } [INFO] [stderr] 290 | | }) [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 282 | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] 283 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] 284 | + { if (rand::random::() % 100) <= agent_critch { [INFO] [stderr] 285 | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] 286 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] 287 | }else{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:305:65 [INFO] [stderr] | [INFO] [stderr] 305 | fn battle(player: &mut Creature, level: u32) -> Result>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::thread::sleep_ms; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | sleep_ms(1000); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:268:20 [INFO] [stderr] | [INFO] [stderr] 268 | stats.attack = ((attributes.str + item.str)as f64).mul_add(1.5, 5.0) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:269:20 [INFO] [stderr] | [INFO] [stderr] 269 | stats.health = ((attributes.vit + item.vit)as f64).mul_add(2.7, 20.0) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:270:20 [INFO] [stderr] | [INFO] [stderr] 270 | stats.speed = ((attributes.agi + item.agi)as f64).mul_add(1.1, 5.0) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | let mut player = try!(intro()); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 69 | if try!(battle(&mut player, level)) != 0 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | try!(prompt("Press enter to continue...")); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | try!(allocate(5, &mut player.attributes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | try!(allocate(unallocated, &mut player.attributes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | try!(prompt("Are you ready?: ")); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | println!("{}", try!(print_file("log/log.rpg"))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | try!(calculate_stats(&monster.attributes, &monster.item, &mut monster.stats)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:223:35 [INFO] [stderr] | [INFO] [stderr] 223 | let response: Vec = try!(prompt("What attribute? (str/vit/agi/dex/luk): ")) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | try!(calculate_stats(&player.attributes, &player.item, &mut player.stats)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:311:23 [INFO] [stderr] | [INFO] [stderr] 311 | let mut monster = try!(spawn_monster(level)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:314:35 [INFO] [stderr] | [INFO] [stderr] 314 | let response: Vec = try!(prompt("command: ")) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:325:22 [INFO] [stderr] | [INFO] [stderr] 325 | try!(log(format!("Dealt {} damage!", player_damage))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:327:25 [INFO] [stderr] | [INFO] [stderr] 327 | try!(show_log()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:333:22 [INFO] [stderr] | [INFO] [stderr] 333 | try!(log(format!("You healed for {}", heal))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:342:9 [INFO] [stderr] | [INFO] [stderr] 342 | try!(show_log()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | try!(log(format!("Took {} damage!", monster_damage))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:347:9 [INFO] [stderr] | [INFO] [stderr] 347 | try!(show_log()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:66:33 [INFO] [stderr] | [INFO] [stderr] 66 | fn try_main() -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [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/main.rs:86:36 [INFO] [stderr] | [INFO] [stderr] 86 | fn intro() -> Result>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:147:41 [INFO] [stderr] | [INFO] [stderr] 147 | fn log(event: String) -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:163:33 [INFO] [stderr] | [INFO] [stderr] 163 | fn show_log() -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:168:54 [INFO] [stderr] | [INFO] [stderr] 168 | fn spawn_monster(level: u32) -> Result> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:219:68 [INFO] [stderr] | [INFO] [stderr] 219 | fn allocate(total: u32, attributes: &mut Attr) -> Result >{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:265:89 [INFO] [stderr] | [INFO] [stderr] 265 | fn calculate_stats(attributes: &Attr, item: &Attr, stats: &mut Stats) -> Result<(), Box>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/main.rs:282:3 [INFO] [stderr] | [INFO] [stderr] 282 | / ((agent_attack as f64 * 0.9) as u32 [INFO] [stderr] 283 | | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] 284 | | + { if (rand::random::() % 100) <= agent_critch { [INFO] [stderr] 285 | | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] ... | [INFO] [stderr] 289 | | } [INFO] [stderr] 290 | | }) [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 282 | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] 283 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] 284 | + { if (rand::random::() % 100) <= agent_critch { [INFO] [stderr] 285 | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] 286 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] 287 | }else{ [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:305:65 [INFO] [stderr] | [INFO] [stderr] 305 | fn battle(player: &mut Creature, level: u32) -> Result>{ [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:271:20 [INFO] [stderr] | [INFO] [stderr] 271 | stats.critch = ((attributes.dex + item.dex)as f64).mul_add(1.6, 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:272:20 [INFO] [stderr] | [INFO] [stderr] 272 | stats.dropra = ((attributes.luk + item.luk)as f64).mul_add(1.5, 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:282:4 [INFO] [stderr] | [INFO] [stderr] 282 | ((agent_attack as f64 * 0.9) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:283:31 [INFO] [stderr] | [INFO] [stderr] 283 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:286:37 [INFO] [stderr] | [INFO] [stderr] 286 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::thread::sleep_ms; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | sleep_ms(1000); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:332:58 [INFO] [stderr] | [INFO] [stderr] 332 | 'h' => { player.stats.health += { let heal = (player.stats.health as f64 * 0.2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors; 29 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0606`. [INFO] [stderr] error: could not compile `rpg`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:268:20 [INFO] [stderr] | [INFO] [stderr] 268 | stats.attack = ((attributes.str + item.str)as f64).mul_add(1.5, 5.0) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:269:20 [INFO] [stderr] | [INFO] [stderr] 269 | stats.health = ((attributes.vit + item.vit)as f64).mul_add(2.7, 20.0) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:270:20 [INFO] [stderr] | [INFO] [stderr] 270 | stats.speed = ((attributes.agi + item.agi)as f64).mul_add(1.1, 5.0) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:271:20 [INFO] [stderr] | [INFO] [stderr] 271 | stats.critch = ((attributes.dex + item.dex)as f64).mul_add(1.6, 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:272:20 [INFO] [stderr] | [INFO] [stderr] 272 | stats.dropra = ((attributes.luk + item.luk)as f64).mul_add(1.5, 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:282:4 [INFO] [stderr] | [INFO] [stderr] 282 | ((agent_attack as f64 * 0.9) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:283:31 [INFO] [stderr] | [INFO] [stderr] 283 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | (agent_attack as f64 * 0.9) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:286:37 [INFO] [stderr] | [INFO] [stderr] 286 | + ((rand::random::() % ((agent_attack as f64 * 0.2) as u32))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0606]: casting `f64` as `u32` is invalid [INFO] [stderr] --> src/main.rs:332:58 [INFO] [stderr] | [INFO] [stderr] 332 | 'h' => { player.stats.health += { let heal = (player.stats.health as f64 * 0.2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors; 29 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0606`. [INFO] [stderr] error: could not compile `rpg`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "1739fddc300a4a44bdf53e2f117fb53512c30b74828316e548e9b0b660645828"` [INFO] running `"docker" "rm" "-f" "1739fddc300a4a44bdf53e2f117fb53512c30b74828316e548e9b0b660645828"` [INFO] [stdout] 1739fddc300a4a44bdf53e2f117fb53512c30b74828316e548e9b0b660645828