[INFO] cloning repository https://github.com/bollu/equinox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bollu/equinox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6f8874dd0cff8bd044e31e8c0638e78c88cc8a5b [INFO] checking bollu/equinox against beta for pr-78714 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bollu/equinox on toolchain beta [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/bollu/equinox [INFO] finished tweaking git repo https://github.com/bollu/equinox [INFO] tweaked toml for git repo https://github.com/bollu/equinox written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/bollu/equinox already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 72104ba0367ab4170dc2790ff87e5e4180c8da560ce50957434e2838eadc24c2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "72104ba0367ab4170dc2790ff87e5e4180c8da560ce50957434e2838eadc24c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "72104ba0367ab4170dc2790ff87e5e4180c8da560ce50957434e2838eadc24c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72104ba0367ab4170dc2790ff87e5e4180c8da560ce50957434e2838eadc24c2", kill_on_drop: false }` [INFO] [stdout] 72104ba0367ab4170dc2790ff87e5e4180c8da560ce50957434e2838eadc24c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 994e14076b9c81c2f41804cf2fffbc5900612b03fe0c7c536d31cb59d79103c7 [INFO] running `Command { std: "docker" "start" "-a" "994e14076b9c81c2f41804cf2fffbc5900612b03fe0c7c536d31cb59d79103c7", kill_on_drop: false }` [INFO] [stderr] Compiling sfml-build v0.1.0 [INFO] [stderr] Checking bitflags v0.5.0 [INFO] [stderr] Checking num-integer v0.1.34 [INFO] [stderr] Checking num-complex v0.1.37 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Compiling csfml-system-sys v0.2.1 [INFO] [stderr] Compiling csfml-window-sys v0.2.0 [INFO] [stderr] Compiling csfml-audio-sys v0.2.0 [INFO] [stderr] Compiling csfml-graphics-sys v0.3.0 [INFO] [stderr] Checking num-iter v0.1.33 [INFO] [stderr] Checking num-bigint v0.1.37 [INFO] [stderr] Checking sfml v0.12.0 [INFO] [stderr] Checking num-rational v0.1.36 [INFO] [stderr] Checking num v0.1.37 [INFO] [stderr] Checking equinox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use std::collections; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/event_queue.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | handlers: VecDeque<&'a mut EventHandler>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandler` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/event_queue.rs:17:45 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn push(&mut self, handler: &'a mut EventHandler) { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/rendering.rs:76:29 [INFO] [stdout] | [INFO] [stdout] 76 | renderers: VecDeque<&'a Drawable>, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Drawable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/rendering.rs:88:42 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn push(&mut self, renderer: &'a Drawable) { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Drawable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `engine::settings::Settings` [INFO] [stdout] --> src/engine/state.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use engine::settings::Settings; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/state.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | states: HashMap>, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/state.rs:69:57 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn add_state(&mut self, id: StateId, state: Box) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/state.rs:113:59 [INFO] [stdout] | [INFO] [stdout] 113 | fn get_current_state<'a>(&'a mut self) -> &'a mut Box { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateData` [INFO] [stdout] --> src/game/main_menu.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game` [INFO] [stdout] --> src/game/main_menu.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use game; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateData` [INFO] [stdout] --> src/game/slot_select_menu.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game` [INFO] [stdout] --> src/game/slot_select_menu.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use game; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::vec::Vec` [INFO] [stdout] --> src/game/level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::vec::Vec; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/game/savefile.rs:23:64 [INFO] [stdout] | [INFO] [stdout] 23 | let mut encoder = json::Encoder::new(&mut file as &mut Write); [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `keyboard` should have an upper camel case name [INFO] [stdout] --> src/heart/game_event_layer.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type keyboard = Key; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyboard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use std::collections; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/event_queue.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | handlers: VecDeque<&'a mut EventHandler>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandler` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/event_queue.rs:17:45 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn push(&mut self, handler: &'a mut EventHandler) { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/rendering.rs:76:29 [INFO] [stdout] | [INFO] [stdout] 76 | renderers: VecDeque<&'a Drawable>, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Drawable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/rendering.rs:88:42 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn push(&mut self, renderer: &'a Drawable) { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Drawable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `engine::settings::Settings` [INFO] [stdout] --> src/engine/state.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use engine::settings::Settings; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/state.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | states: HashMap>, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/state.rs:69:57 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn add_state(&mut self, id: StateId, state: Box) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/engine/state.rs:113:59 [INFO] [stdout] | [INFO] [stdout] 113 | fn get_current_state<'a>(&'a mut self) -> &'a mut Box { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateData` [INFO] [stdout] --> src/game/main_menu.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game` [INFO] [stdout] --> src/game/main_menu.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use game; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateData` [INFO] [stdout] --> src/game/slot_select_menu.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game` [INFO] [stdout] --> src/game/slot_select_menu.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use game; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::vec::Vec` [INFO] [stdout] --> src/game/level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::vec::Vec; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/game/savefile.rs:23:64 [INFO] [stdout] | [INFO] [stdout] 23 | let mut encoder = json::Encoder::new(&mut file as &mut Write); [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `keyboard` should have an upper camel case name [INFO] [stdout] --> src/heart/game_event_layer.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type keyboard = Key; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyboard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:35:48 [INFO] [stdout] | [INFO] [stdout] 35 | let mut settings = settings::Settings::new("settings".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&"settings".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:35:48 [INFO] [stdout] | [INFO] [stdout] 35 | let mut settings = settings::Settings::new("settings".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&"settings".to_string()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let mut settings = settings::Settings::new("settings".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: all local variables must have a statically known size [INFO] [stdout] = help: unsized locals are gated as an unstable feature [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 50 | / loop { [INFO] [stdout] 51 | | let event = window.poll(); [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | match event { [INFO] [stdout] ... | [INFO] [stdout] 64 | | } [INFO] [stdout] 65 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 66 | [INFO] [stdout] 67 | let engine_state = state_machine.tick(1.0 / 60.0, &mut event_queue, &mut render_queue); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | let mut settings = settings::Settings::new("settings".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] ... [INFO] [stdout] 49 | / while window.is_open() { [INFO] [stdout] 50 | | loop { [INFO] [stdout] 51 | | let event = window.poll(); [INFO] [stdout] 52 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | window.display(); [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____- this returned value is of type `()` [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: the return type of a function must have a statically known size [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `VecDeque<&'a mut (dyn EventHandler + 'a)>` in the current scope [INFO] [stdout] --> src/engine/event_queue.rs:23:38 [INFO] [stdout] | [INFO] [stdout] 23 | for handler in self.handlers.mut_iter() { [INFO] [stdout] | ^^^^^^^^ method not found in `VecDeque<&'a mut (dyn EventHandler + 'a)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_init` found for struct `VideoMode` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:20:36 [INFO] [stdout] | [INFO] [stdout] 20 | let videoMode = VideoMode::new_init(width, height, 32); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `VideoMode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `FULLSCREEN` found for struct `Style` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | Style::FULLSCREEN [INFO] [stdout] | ^^^^^^^^^^ associated item not found in `Style` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `CLOSE` found for struct `Style` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | Style::CLOSE [INFO] [stdout] | ^^^^^ associated item not found in `Style` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/rendering.rs:28:55 [INFO] [stdout] | [INFO] [stdout] 28 | Window { window: RenderWindow::new(videoMode, title, style, &setting).unwrap() } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&title` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let mut settings = settings::Settings::new("settings".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: all local variables must have a statically known size [INFO] [stdout] = help: unsized locals are gated as an unstable feature [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 50 | / loop { [INFO] [stdout] 51 | | let event = window.poll(); [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | match event { [INFO] [stdout] ... | [INFO] [stdout] 64 | | } [INFO] [stdout] 65 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 66 | [INFO] [stdout] 67 | let engine_state = state_machine.tick(1.0 / 60.0, &mut event_queue, &mut render_queue); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | let mut settings = settings::Settings::new("settings".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] ... [INFO] [stdout] 49 | / while window.is_open() { [INFO] [stdout] 50 | | loop { [INFO] [stdout] 51 | | let event = window.poll(); [INFO] [stdout] 52 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | window.display(); [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____- this returned value is of type `()` [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: the return type of a function must have a statically known size [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `VecDeque<&'a mut (dyn EventHandler + 'a)>` in the current scope [INFO] [stdout] --> src/engine/event_queue.rs:23:38 [INFO] [stdout] | [INFO] [stdout] 23 | for handler in self.handlers.mut_iter() { [INFO] [stdout] | ^^^^^^^^ method not found in `VecDeque<&'a mut (dyn EventHandler + 'a)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_init` found for struct `VideoMode` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:20:36 [INFO] [stdout] | [INFO] [stdout] 20 | let videoMode = VideoMode::new_init(width, height, 32); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `VideoMode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `FULLSCREEN` found for struct `Style` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | Style::FULLSCREEN [INFO] [stdout] | ^^^^^^^^^^ associated item not found in `Style` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `CLOSE` found for struct `Style` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | Style::CLOSE [INFO] [stdout] | ^^^^^ associated item not found in `Style` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/rendering.rs:28:55 [INFO] [stdout] | [INFO] [stdout] 28 | Window { window: RenderWindow::new(videoMode, title, style, &setting).unwrap() } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&title` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/rendering.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn poll(&mut self) -> Event { [INFO] [stdout] | ----- expected `Event` because of return type [INFO] [stdout] 36 | self.window.poll_event() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Event`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Event` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `clear` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | self.window.clear(&clear_color); [INFO] [stdout] | ^^^^^ method not found in `RenderWindow` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::RenderTarget;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | self.window.get_size().x as usize [INFO] [stdout] | ^^^^^^^^ help: there is an associated function with a similar name: `set_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | self.window.get_size().y as usize [INFO] [stdout] | ^^^^^^^^ help: there is an associated function with a similar name: `set_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:60:32 [INFO] [stdout] | [INFO] [stdout] 60 | let size = self.window.get_size(); [INFO] [stdout] | ^^^^^^^^ help: there is an associated function with a similar name: `set_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_RGB` found for struct `Color` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:84:33 [INFO] [stdout] | [INFO] [stdout] 84 | clear_color: Color::new_RGB(0, 0, 20), [INFO] [stdout] | ^^^^^^^ function or associated item not found in `Color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `draw_in_render_window` found for reference `&&dyn Drawable` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:103:22 [INFO] [stdout] | [INFO] [stdout] 103 | renderer.draw_in_render_window(render_window); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `&&dyn Drawable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `find` found for struct `HashMap` in the current scope [INFO] [stdout] --> src/engine/resource_loader.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | match self.resources.find(key) { [INFO] [stdout] | ^^^^ method not found in `HashMap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/rendering.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn poll(&mut self) -> Event { [INFO] [stdout] | ----- expected `Event` because of return type [INFO] [stdout] 36 | self.window.poll_event() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Event`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Event` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `clear` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | self.window.clear(&clear_color); [INFO] [stdout] | ^^^^^ method not found in `RenderWindow` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::RenderTarget;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | self.window.get_size().x as usize [INFO] [stdout] | ^^^^^^^^ help: there is an associated function with a similar name: `set_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | self.window.get_size().y as usize [INFO] [stdout] | ^^^^^^^^ help: there is an associated function with a similar name: `set_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:60:32 [INFO] [stdout] | [INFO] [stdout] 60 | let size = self.window.get_size(); [INFO] [stdout] | ^^^^^^^^ help: there is an associated function with a similar name: `set_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_RGB` found for struct `Color` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:84:33 [INFO] [stdout] | [INFO] [stdout] 84 | clear_color: Color::new_RGB(0, 0, 20), [INFO] [stdout] | ^^^^^^^ function or associated item not found in `Color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `draw_in_render_window` found for reference `&&dyn Drawable` in the current scope [INFO] [stdout] --> src/engine/rendering.rs:103:22 [INFO] [stdout] | [INFO] [stdout] 103 | renderer.draw_in_render_window(render_window); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `&&dyn Drawable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `find` found for struct `HashMap` in the current scope [INFO] [stdout] --> src/engine/resource_loader.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | match self.resources.find(key) { [INFO] [stdout] | ^^^^ method not found in `HashMap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/state.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | self.states.get_mut(&self.current_id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected mutable reference, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&'a mut Box<(dyn state::State + 'static)>` [INFO] [stdout] found enum `Option<&mut Box<(dyn state::State + 'static)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/engine/settings.rs:27:44 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn new(settings_path_raw: &str) -> Settings { [INFO] [stdout] | ^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: the return type of a function must have a statically known size [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `read_to_str` found for enum `std::result::Result` in the current scope [INFO] [stdout] --> src/engine/settings.rs:31:46 [INFO] [stdout] | [INFO] [stdout] 31 | let contents = File::open(&path).read_to_str().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/state.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | self.states.get_mut(&self.current_id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected mutable reference, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&'a mut Box<(dyn state::State + 'static)>` [INFO] [stdout] found enum `Option<&mut Box<(dyn state::State + 'static)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/engine/settings.rs:27:44 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn new(settings_path_raw: &str) -> Settings { [INFO] [stdout] | ^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: the return type of a function must have a statically known size [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `read_to_str` found for enum `std::result::Result` in the current scope [INFO] [stdout] --> src/engine/settings.rs:31:46 [INFO] [stdout] | [INFO] [stdout] 31 | let contents = File::open(&path).read_to_str().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/settings.rs:35:32 [INFO] [stdout] | [INFO] [stdout] 35 | settings_path: path, [INFO] [stdout] | ^^^^ expected struct `Path`, found `&Path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/engine/settings.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | / Settings { [INFO] [stdout] 35 | | settings_path: path, [INFO] [stdout] 36 | | key_value_pair: key_value_pair, [INFO] [stdout] 37 | | } [INFO] [stdout] | |_____________^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: structs must have a statically known size to be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/settings.rs:35:32 [INFO] [stdout] | [INFO] [stdout] 35 | settings_path: path, [INFO] [stdout] | ^^^^ expected struct `Path`, found `&Path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/engine/settings.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | / Settings { [INFO] [stdout] 35 | | settings_path: path, [INFO] [stdout] 36 | | key_value_pair: key_value_pair, [INFO] [stdout] 37 | | } [INFO] [stdout] | |_____________^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: structs must have a statically known size to be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/settings.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | settings_path: path, [INFO] [stdout] | ^^^^ expected struct `Path`, found `&Path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/engine/settings.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / Settings { [INFO] [stdout] 42 | | settings_path: path, [INFO] [stdout] 43 | | key_value_pair: key_value_pair, [INFO] [stdout] 44 | | } [INFO] [stdout] | |_____________^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: structs must have a statically known size to be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `find_or_insert` found for struct `HashMap` in the current scope [INFO] [stdout] --> src/engine/settings.rs:49:36 [INFO] [stdout] | [INFO] [stdout] 49 | return self.key_value_pair.find_or_insert(name, default_value); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `HashMap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `char_at` found for reference `&str` in the current scope [INFO] [stdout] --> src/engine/settings.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | match name.char_at(0) { [INFO] [stdout] | ^^^^^^^ method not found in `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `isize` in the current scope [INFO] [stdout] --> src/engine/settings.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | let value = isize::from_str(valueStr).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `isize` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope [INFO] [stdout] --> src/engine/settings.rs:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | let value = f32::from_str(valueStr).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `f32` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope [INFO] [stdout] --> src/engine/settings.rs:73:35 [INFO] [stdout] | [INFO] [stdout] 73 | let float1 = f32::from_str(*floatPair.get(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `f32` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced [INFO] [stdout] --> src/engine/settings.rs:73:44 [INFO] [stdout] | [INFO] [stdout] 73 | let float1 = f32::from_str(*floatPair.get(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope [INFO] [stdout] --> src/engine/settings.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | let float2 = f32::from_str(*floatPair.get(1)).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `f32` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced [INFO] [stdout] --> src/engine/settings.rs:74:44 [INFO] [stdout] | [INFO] [stdout] 74 | let float2 = f32::from_str(*floatPair.get(1)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option<&&str>` in the current scope [INFO] [stdout] --> src/engine/settings.rs:101:40 [INFO] [stdout] | [INFO] [stdout] 101 | let name = dataPair.get(0).trim(); [INFO] [stdout] | ^^^^ method not found in `Option<&&str>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option<&&str>` in the current scope [INFO] [stdout] --> src/engine/settings.rs:102:44 [INFO] [stdout] | [INFO] [stdout] 102 | let valueStr = dataPair.get(1).trim(); [INFO] [stdout] | ^^^^ method not found in `Option<&&str>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/engine/settings.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | settings_path: path, [INFO] [stdout] | ^^^^ expected struct `Path`, found `&Path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time [INFO] [stdout] --> src/engine/settings.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / Settings { [INFO] [stdout] 42 | | settings_path: path, [INFO] [stdout] 43 | | key_value_pair: key_value_pair, [INFO] [stdout] 44 | | } [INFO] [stdout] | |_____________^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: within `Settings`, the trait `Sized` is not implemented for `[u8]` [INFO] [stdout] = note: required because it appears within the type `Settings` [INFO] [stdout] = note: structs must have a statically known size to be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `find_or_insert` found for struct `HashMap` in the current scope [INFO] [stdout] --> src/engine/settings.rs:49:36 [INFO] [stdout] | [INFO] [stdout] 49 | return self.key_value_pair.find_or_insert(name, default_value); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `HashMap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_from_file` found for struct `Font` in the current scope [INFO] [stdout] --> src/game/mod.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | let obelix_font = graphics::Font::new_from_file("res/font/AlegreyaSansSC-Light.ttf").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | function or associated item not found in `Font` [INFO] [stdout] | help: there is an associated function with a similar name: `from_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `loader` [INFO] [stdout] --> src/game/mod.rs:38:55 [INFO] [stdout] | [INFO] [stdout] 34 | loader: &ResourceLoader, [INFO] [stdout] | --------------- help: add explicit lifetime `'static` to the type of `loader`: `&'static ResourceLoader` [INFO] [stdout] ... [INFO] [stdout] 38 | state_machine.add_state(MainMenuStateID as isize, Box::new(main_menu::MainMenu::new(loader, ctx))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `loader` [INFO] [stdout] --> src/game/mod.rs:41:57 [INFO] [stdout] | [INFO] [stdout] 34 | loader: &ResourceLoader, [INFO] [stdout] | --------------- help: add explicit lifetime `'static` to the type of `loader`: `&'static ResourceLoader` [INFO] [stdout] ... [INFO] [stdout] 41 | state_machine.add_state(SlotSelectStateID as isize, Box::new(slot_select_menu::SlotSelectMenu::new(loader, ctx))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private [INFO] [stdout] --> src/game/main_menu.rs:43:31 [INFO] [stdout] | [INFO] [stdout] 43 | let render_dim = render_ctx.viewport_dim; [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `char_at` found for reference `&str` in the current scope [INFO] [stdout] --> src/engine/settings.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | match name.char_at(0) { [INFO] [stdout] | ^^^^^^^ method not found in `&str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `isize` in the current scope [INFO] [stdout] --> src/engine/settings.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | let value = isize::from_str(valueStr).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `isize` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope [INFO] [stdout] --> src/engine/settings.rs:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | let value = f32::from_str(valueStr).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `f32` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text<'_>` in the current scope [INFO] [stdout] --> src/game/main_menu.rs:48:70 [INFO] [stdout] | [INFO] [stdout] 48 | let mut banner = Text::new_init("equinox", font, font_size_banner).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `Text<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope [INFO] [stdout] --> src/engine/settings.rs:73:35 [INFO] [stdout] | [INFO] [stdout] 73 | let float1 = f32::from_str(*floatPair.get(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `f32` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced [INFO] [stdout] --> src/engine/settings.rs:73:44 [INFO] [stdout] | [INFO] [stdout] 73 | let float1 = f32::from_str(*floatPair.get(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope [INFO] [stdout] --> src/engine/settings.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | let float2 = f32::from_str(*floatPair.get(1)).unwrap(); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `f32` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use std::str::FromStr;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced [INFO] [stdout] --> src/engine/settings.rs:74:44 [INFO] [stdout] | [INFO] [stdout] 74 | let float2 = f32::from_str(*floatPair.get(1)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/game/main_menu.rs:100:15 [INFO] [stdout] | [INFO] [stdout] 99 | fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){ [INFO] [stdout] | --------- ---------- [INFO] [stdout] | | [INFO] [stdout] | these two types are declared with different lifetimes... [INFO] [stdout] 100 | event_queue.push(&mut self.handler); [INFO] [stdout] | ^^^^ ...but data from `self` flows into `event_queue` here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for borrow expression due to conflicting requirements [INFO] [stdout] --> src/game/main_menu.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | render_queue.push(&self.banner); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the impl at 98:6... [INFO] [stdout] --> src/game/main_menu.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | impl<'a> State for MainMenu<'a> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that the type `Text<'a>` is not borrowed for too long [INFO] [stdout] --> src/game/main_menu.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | render_queue.push(&self.banner); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime #3 defined on the method body at 103:2... [INFO] [stdout] --> src/game/main_menu.rs:103:2 [INFO] [stdout] | [INFO] [stdout] 103 | fn queue_renderers(&mut self, render_queue: &mut RenderQueue){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/game/main_menu.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | render_queue.push(&self.banner); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected `&mut RenderQueue<'_>` [INFO] [stdout] found `&mut RenderQueue<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option<&&str>` in the current scope [INFO] [stdout] --> src/engine/settings.rs:101:40 [INFO] [stdout] | [INFO] [stdout] 101 | let name = dataPair.get(0).trim(); [INFO] [stdout] | ^^^^ method not found in `Option<&&str>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option<&&str>` in the current scope [INFO] [stdout] --> src/engine/settings.rs:102:44 [INFO] [stdout] | [INFO] [stdout] 102 | let valueStr = dataPair.get(1).trim(); [INFO] [stdout] | ^^^^ method not found in `Option<&&str>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec>` in the current scope [INFO] [stdout] --> src/game/main_menu.rs:114:31 [INFO] [stdout] | [INFO] [stdout] 114 | for item in self.menu_items.mut_iter() { [INFO] [stdout] | ^^^^^^^^ method not found in `Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:115:39 [INFO] [stdout] | [INFO] [stdout] 115 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:115:55 [INFO] [stdout] | [INFO] [stdout] 115 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:117:20 [INFO] [stdout] | [INFO] [stdout] 117 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:117:58 [INFO] [stdout] | [INFO] [stdout] 117 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:117:74 [INFO] [stdout] | [INFO] [stdout] 117 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/game/game_state.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 40 | fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){ [INFO] [stdout] | --------- ---------- [INFO] [stdout] | | [INFO] [stdout] | these two types are declared with different lifetimes... [INFO] [stdout] 41 | event_queue.push(&mut self.event_layer); [INFO] [stdout] | ^^^^ ...but data from `self` flows into `event_queue` here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_from_file` found for struct `Font` in the current scope [INFO] [stdout] --> src/game/mod.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | let obelix_font = graphics::Font::new_from_file("res/font/AlegreyaSansSC-Light.ttf").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | function or associated item not found in `Font` [INFO] [stdout] | help: there is an associated function with a similar name: `from_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `loader` [INFO] [stdout] --> src/game/mod.rs:38:55 [INFO] [stdout] | [INFO] [stdout] 34 | loader: &ResourceLoader, [INFO] [stdout] | --------------- help: add explicit lifetime `'static` to the type of `loader`: `&'static ResourceLoader` [INFO] [stdout] ... [INFO] [stdout] 38 | state_machine.add_state(MainMenuStateID as isize, Box::new(main_menu::MainMenu::new(loader, ctx))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | let render_dim = render_ctx.viewport_dim; [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/slot_select_menu.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if save_exists(save_path) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&save_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/slot_select_menu.rs:46:26 [INFO] [stdout] | [INFO] [stdout] 46 | read_save_from_disk(save_path) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&save_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/slot_select_menu.rs:50:32 [INFO] [stdout] | [INFO] [stdout] 50 | write_save_to_disk(&save, save_path); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&save_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_str` found for type `isize` in the current scope [INFO] [stdout] --> src/game/slot_select_menu.rs:55:31 [INFO] [stdout] | [INFO] [stdout] 55 | let name = "slot " + index.to_str(); [INFO] [stdout] | ^^^^^^ method not found in `isize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `open` of struct `Savefile` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | let color = if savefile.open { [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/game/slot_select_menu.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 88 | fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){ [INFO] [stdout] | --------- ---------- [INFO] [stdout] | | [INFO] [stdout] | these two types are declared with different lifetimes... [INFO] [stdout] 89 | event_queue.push(&mut self.handler); [INFO] [stdout] | ^^^^ ...but data from `self` flows into `event_queue` here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `loader` [INFO] [stdout] --> src/game/mod.rs:41:57 [INFO] [stdout] | [INFO] [stdout] 34 | loader: &ResourceLoader, [INFO] [stdout] | --------------- help: add explicit lifetime `'static` to the type of `loader`: `&'static ResourceLoader` [INFO] [stdout] ... [INFO] [stdout] 41 | state_machine.add_state(SlotSelectStateID as isize, Box::new(slot_select_menu::SlotSelectMenu::new(loader, ctx))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec>` in the current scope [INFO] [stdout] --> src/game/slot_select_menu.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | for item in self.menu_items.mut_iter() { [INFO] [stdout] | ^^^^^^^^ method not found in `Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private [INFO] [stdout] --> src/game/main_menu.rs:43:31 [INFO] [stdout] | [INFO] [stdout] 43 | let render_dim = render_ctx.viewport_dim; [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:105:20 [INFO] [stdout] | [INFO] [stdout] 105 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:105:58 [INFO] [stdout] | [INFO] [stdout] 105 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:105:74 [INFO] [stdout] | [INFO] [stdout] 105 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text<'_>` in the current scope [INFO] [stdout] --> src/game/main_menu.rs:48:70 [INFO] [stdout] | [INFO] [stdout] 48 | let mut banner = Text::new_init("equinox", font, font_size_banner).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `Text<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/game/main_menu.rs:100:15 [INFO] [stdout] | [INFO] [stdout] 99 | fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){ [INFO] [stdout] | --------- ---------- [INFO] [stdout] | | [INFO] [stdout] | these two types are declared with different lifetimes... [INFO] [stdout] 100 | event_queue.push(&mut self.handler); [INFO] [stdout] | ^^^^ ...but data from `self` flows into `event_queue` here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/ui.rs:33:46 [INFO] [stdout] | [INFO] [stdout] 33 | let mut text = Text::new_init(label, font, font_size).unwrap(); [INFO] [stdout] | ^^^^^^^^^ expected `u32`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `usize` to `u32` and panic if the converted value wouldn't fit [INFO] [stdout] | [INFO] [stdout] 33 | let mut text = Text::new_init(label, font, font_size.try_into().unwrap()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for borrow expression due to conflicting requirements [INFO] [stdout] --> src/game/main_menu.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | render_queue.push(&self.banner); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the impl at 98:6... [INFO] [stdout] --> src/game/main_menu.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | impl<'a> State for MainMenu<'a> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that the type `Text<'a>` is not borrowed for too long [INFO] [stdout] --> src/game/main_menu.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | render_queue.push(&self.banner); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime #3 defined on the method body at 103:2... [INFO] [stdout] --> src/game/main_menu.rs:103:2 [INFO] [stdout] | [INFO] [stdout] 103 | fn queue_renderers(&mut self, render_queue: &mut RenderQueue){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/game/main_menu.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | render_queue.push(&self.banner); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected `&mut RenderQueue<'_>` [INFO] [stdout] found `&mut RenderQueue<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text<'_>` in the current scope [INFO] [stdout] --> src/game/ui.rs:33:57 [INFO] [stdout] | [INFO] [stdout] 33 | let mut text = Text::new_init(label, font, font_size).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `Text<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `RectangleShape<'_>` in the current scope [INFO] [stdout] --> src/game/ui.rs:36:40 [INFO] [stdout] | [INFO] [stdout] 36 | let mut back = RectangleShape::new().unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `RectangleShape<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec>` in the current scope [INFO] [stdout] --> src/game/main_menu.rs:114:31 [INFO] [stdout] | [INFO] [stdout] 114 | for item in self.menu_items.mut_iter() { [INFO] [stdout] | ^^^^^^^^ method not found in `Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:115:39 [INFO] [stdout] | [INFO] [stdout] 115 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:115:55 [INFO] [stdout] | [INFO] [stdout] 115 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:117:20 [INFO] [stdout] | [INFO] [stdout] 117 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:117:58 [INFO] [stdout] | [INFO] [stdout] 117 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/main_menu.rs:117:74 [INFO] [stdout] | [INFO] [stdout] 117 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/game/game_state.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 40 | fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){ [INFO] [stdout] | --------- ---------- [INFO] [stdout] | | [INFO] [stdout] | these two types are declared with different lifetimes... [INFO] [stdout] 41 | event_queue.push(&mut self.event_layer); [INFO] [stdout] | ^^^^ ...but data from `self` flows into `event_queue` here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | let render_dim = render_ctx.viewport_dim; [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_local_bounds` found for struct `Text<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:51:50 [INFO] [stdout] | [INFO] [stdout] 51 | let text_y = y + item_height * 0.5 - self.text.get_local_bounds().height; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `global_bounds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `Text<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.text.set_position2f(text_x, text_y); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `Text<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Transformable;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | self.back.set_position2f(0 as f32, text_y); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Transformable;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `alpha` on type `Color` [INFO] [stdout] --> src/game/ui.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | color.alpha = self.animator.val() as u8; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `r`, `g`, `b`, `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_fill_color` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | self.back.set_fill_color(&color); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Shape;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/slot_select_menu.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if save_exists(save_path) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&save_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/slot_select_menu.rs:46:26 [INFO] [stdout] | [INFO] [stdout] 46 | read_save_from_disk(save_path) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&save_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/slot_select_menu.rs:50:32 [INFO] [stdout] | [INFO] [stdout] 50 | write_save_to_disk(&save, save_path); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&str`, found struct `std::string::String` [INFO] [stdout] | help: consider borrowing here: `&save_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if self.back.get_global_bounds().contains(mouse_x,mouse_y) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_str` found for type `isize` in the current scope [INFO] [stdout] --> src/game/slot_select_menu.rs:55:31 [INFO] [stdout] | [INFO] [stdout] 55 | let name = "slot " + index.to_str(); [INFO] [stdout] | ^^^^^^ method not found in `isize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `open` of struct `Savefile` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | let color = if savefile.open { [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/game/slot_select_menu.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 88 | fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){ [INFO] [stdout] | --------- ---------- [INFO] [stdout] | | [INFO] [stdout] | these two types are declared with different lifetimes... [INFO] [stdout] 89 | event_queue.push(&mut self.handler); [INFO] [stdout] | ^^^^ ...but data from `self` flows into `event_queue` here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec>` in the current scope [INFO] [stdout] --> src/game/slot_select_menu.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | for item in self.menu_items.mut_iter() { [INFO] [stdout] | ^^^^^^^^ method not found in `Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | item.update_state(dt, self.handler.x, self.handler.y); [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:105:20 [INFO] [stdout] | [INFO] [stdout] 105 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:105:58 [INFO] [stdout] | [INFO] [stdout] 105 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | self.back.get_global_bounds().contains(mouse_x,mouse_y) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private [INFO] [stdout] --> src/game/slot_select_menu.rs:105:74 [INFO] [stdout] | [INFO] [stdout] 105 | if self.handler.clicked && item.contains(self.handler.x, self.handler.y) { [INFO] [stdout] | ^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `queue` [INFO] [stdout] --> src/game/ui.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn push_to_queue(&self, queue: &mut RenderQueue) { [INFO] [stdout] | ---------------- help: add explicit lifetime `'a` to the type of `queue`: `&mut RenderQueue<'a>` [INFO] [stdout] 81 | queue.push(&self.back); [INFO] [stdout] | ^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `queue` [INFO] [stdout] --> src/game/ui.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn push_to_queue(&self, queue: &mut RenderQueue) { [INFO] [stdout] | ---------------- help: add explicit lifetime `'a` to the type of `queue`: `&mut RenderQueue<'a>` [INFO] [stdout] 81 | queue.push(&self.back); [INFO] [stdout] 82 | queue.push(&self.text); [INFO] [stdout] | ^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/ui.rs:33:46 [INFO] [stdout] | [INFO] [stdout] 33 | let mut text = Text::new_init(label, font, font_size).unwrap(); [INFO] [stdout] | ^^^^^^^^^ expected `u32`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `usize` to `u32` and panic if the converted value wouldn't fit [INFO] [stdout] | [INFO] [stdout] 33 | let mut text = Text::new_init(label, font, font_size.try_into().unwrap()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text<'_>` in the current scope [INFO] [stdout] --> src/game/ui.rs:33:57 [INFO] [stdout] | [INFO] [stdout] 33 | let mut text = Text::new_init(label, font, font_size).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `Text<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `RectangleShape<'_>` in the current scope [INFO] [stdout] --> src/game/ui.rs:36:40 [INFO] [stdout] | [INFO] [stdout] 36 | let mut back = RectangleShape::new().unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `RectangleShape<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_local_bounds` found for struct `Text<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:51:50 [INFO] [stdout] | [INFO] [stdout] 51 | let text_y = y + item_height * 0.5 - self.text.get_local_bounds().height; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `global_bounds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `Text<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.text.set_position2f(text_x, text_y); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `Text<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Transformable;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | self.back.set_position2f(0 as f32, text_y); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Transformable;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `alpha` on type `Color` [INFO] [stdout] --> src/game/ui.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | color.alpha = self.animator.val() as u8; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `r`, `g`, `b`, `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_fill_color` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | self.back.set_fill_color(&color); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Shape;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if self.back.get_global_bounds().contains(mouse_x,mouse_y) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape<'a>` in the current scope [INFO] [stdout] --> src/game/ui.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | self.back.get_global_bounds().contains(mouse_x,mouse_y) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `queue` [INFO] [stdout] --> src/game/ui.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn push_to_queue(&self, queue: &mut RenderQueue) { [INFO] [stdout] | ---------------- help: add explicit lifetime `'a` to the type of `queue`: `&mut RenderQueue<'a>` [INFO] [stdout] 81 | queue.push(&self.back); [INFO] [stdout] | ^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `queue` [INFO] [stdout] --> src/game/ui.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn push_to_queue(&self, queue: &mut RenderQueue) { [INFO] [stdout] | ---------------- help: add explicit lifetime `'a` to the type of `queue`: `&mut RenderQueue<'a>` [INFO] [stdout] 81 | queue.push(&self.back); [INFO] [stdout] 82 | queue.push(&self.text); [INFO] [stdout] | ^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/savefile.rs:23:46 [INFO] [stdout] | [INFO] [stdout] 23 | let mut encoder = json::Encoder::new(&mut file as &mut Write); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected trait `std::fmt::Write`, found trait `std::io::Write` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut dyn std::fmt::Write` [INFO] [stdout] found mutable reference `&mut dyn std::io::Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `std::result::Result: std::io::Write` is not satisfied [INFO] [stdout] --> src/game/savefile.rs:23:46 [INFO] [stdout] | [INFO] [stdout] 23 | let mut encoder = json::Encoder::new(&mut file as &mut Write); [INFO] [stdout] | ^^^^^^^^^ the trait `std::io::Write` is not implemented for `std::result::Result` [INFO] [stdout] | [INFO] [stdout] = note: required for the cast to the object type `dyn std::io::Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `read_to_end` found for enum `std::result::Result` in the current scope [INFO] [stdout] --> src/game/savefile.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | let raw_data = file.read_to_end().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Json: Decodable` is not satisfied [INFO] [stdout] --> src/game/savefile.rs:35:20 [INFO] [stdout] | [INFO] [stdout] 35 | let json_object = json::decode(json_str).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Json` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.23/src/json.rs:379:18 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn decode(s: &str) -> DecodeResult { [INFO] [stdout] | ----------- required by this bound in `rustc_serialize::json::decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/savefile.rs:23:46 [INFO] [stdout] | [INFO] [stdout] 23 | let mut encoder = json::Encoder::new(&mut file as &mut Write); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected trait `std::fmt::Write`, found trait `std::io::Write` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut dyn std::fmt::Write` [INFO] [stdout] found mutable reference `&mut dyn std::io::Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `std::result::Result: std::io::Write` is not satisfied [INFO] [stdout] --> src/game/savefile.rs:23:46 [INFO] [stdout] | [INFO] [stdout] 23 | let mut encoder = json::Encoder::new(&mut file as &mut Write); [INFO] [stdout] | ^^^^^^^^^ the trait `std::io::Write` is not implemented for `std::result::Result` [INFO] [stdout] | [INFO] [stdout] = note: required for the cast to the object type `dyn std::io::Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `read_to_end` found for enum `std::result::Result` in the current scope [INFO] [stdout] --> src/game/savefile.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | let raw_data = file.read_to_end().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `rustc_serialize::json::Json: Decodable` is not satisfied [INFO] [stdout] --> src/game/savefile.rs:35:20 [INFO] [stdout] | [INFO] [stdout] 35 | let json_object = json::decode(json_str).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ the trait `Decodable` is not implemented for `rustc_serialize::json::Json` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.23/src/json.rs:379:18 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn decode(s: &str) -> DecodeResult { [INFO] [stdout] | ----------- required by this bound in `rustc_serialize::json::decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/savefile.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let savefile : Savefile = Decodable::decode(&mut savefile_decoder); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Savefile`, found enum `std::result::Result` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Savefile` [INFO] [stdout] found enum `std::result::Result<_, DecoderError>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `render_queue` [INFO] [stdout] --> src/heart/player.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn push_to_queue(&self, render_queue: &mut RenderQueue) { [INFO] [stdout] | ---------------- help: add explicit lifetime `'a` to the type of `render_queue`: `&mut RenderQueue<'a>` [INFO] [stdout] 24 | render_queue.push(&self.renderer.render); [INFO] [stdout] | ^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `CircleShape<'_>` in the current scope [INFO] [stdout] --> src/heart/player.rs:69:51 [INFO] [stdout] | [INFO] [stdout] 69 | let mut render = CircleShape::new_init(32., 30).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `CircleShape<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_position` found for struct `CircleShape<'a>` in the current scope [INFO] [stdout] --> src/heart/player.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | self.render.set_position(&repr.get_position()) [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `CircleShape<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Transformable;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 80 previous errors; 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0495, E0599, E0609, E0614, E0616, E0621, E0623. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `equinox` [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] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/game/savefile.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let savefile : Savefile = Decodable::decode(&mut savefile_decoder); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Savefile`, found enum `std::result::Result` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Savefile` [INFO] [stdout] found enum `std::result::Result<_, DecoderError>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `render_queue` [INFO] [stdout] --> src/heart/player.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn push_to_queue(&self, render_queue: &mut RenderQueue) { [INFO] [stdout] | ---------------- help: add explicit lifetime `'a` to the type of `render_queue`: `&mut RenderQueue<'a>` [INFO] [stdout] 24 | render_queue.push(&self.renderer.render); [INFO] [stdout] | ^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `CircleShape<'_>` in the current scope [INFO] [stdout] --> src/heart/player.rs:69:51 [INFO] [stdout] | [INFO] [stdout] 69 | let mut render = CircleShape::new_init(32., 30).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `CircleShape<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_position` found for struct `CircleShape<'a>` in the current scope [INFO] [stdout] --> src/heart/player.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | self.render.set_position(&repr.get_position()) [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `CircleShape<'a>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use sfml::graphics::Transformable;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 80 previous errors; 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0495, E0599, E0609, E0614, E0616, E0621, E0623. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "994e14076b9c81c2f41804cf2fffbc5900612b03fe0c7c536d31cb59d79103c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "994e14076b9c81c2f41804cf2fffbc5900612b03fe0c7c536d31cb59d79103c7", kill_on_drop: false }` [INFO] [stdout] 994e14076b9c81c2f41804cf2fffbc5900612b03fe0c7c536d31cb59d79103c7