[INFO] cloning repository https://github.com/dobrite/dwemthys-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dobrite/dwemthys-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdobrite%2Fdwemthys-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdobrite%2Fdwemthys-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cabcbafb64c6f39fdc89ed23479281b44153c61f [INFO] checking dobrite/dwemthys-rs against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdobrite%2Fdwemthys-rs" "/workspace/builds/worker-11/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dobrite/dwemthys-rs on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dobrite/dwemthys-rs [INFO] finished tweaking git repo https://github.com/dobrite/dwemthys-rs [INFO] tweaked toml for git repo https://github.com/dobrite/dwemthys-rs written to /workspace/builds/worker-11/source/Cargo.toml [INFO] crate git repo https://github.com/dobrite/dwemthys-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/tomassedovic/tcod-rs.git` [INFO] [stderr] error: the lock file /workspace/builds/worker-11/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 `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/tomassedovic/tcod-rs.git` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bitflags v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8ff901c22b8f2c319214909e7113f2efd3aaeedfdb68537c98f59a955b9c5ba6 [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" "8ff901c22b8f2c319214909e7113f2efd3aaeedfdb68537c98f59a955b9c5ba6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8ff901c22b8f2c319214909e7113f2efd3aaeedfdb68537c98f59a955b9c5ba6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ff901c22b8f2c319214909e7113f2efd3aaeedfdb68537c98f59a955b9c5ba6", kill_on_drop: false }` [INFO] [stdout] 8ff901c22b8f2c319214909e7113f2efd3aaeedfdb68537c98f59a955b9c5ba6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 05a440d2f77c70c7e430767c981a9551ecf8ccb2addcc1ddbdae4309b13a28d8 [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" "05a440d2f77c70c7e430767c981a9551ecf8ccb2addcc1ddbdae4309b13a28d8", kill_on_drop: false }` [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling tcod-sys v5.0.1 (https://github.com/tomassedovic/tcod-rs.git#d4ad0749) [INFO] [stderr] Checking tcod v0.15.0 (https://github.com/tomassedovic/tcod-rs.git#d4ad0749) [INFO] [stderr] Checking dwemthys v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `self::tcod::KeyState` [INFO] [stdout] --> src/game/mod.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use self::tcod::{KeyState}; [INFO] [stdout] | ^^^^^^^^ no `KeyState` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `self::tcod::background_flag`, `self::tcod::KeyState` [INFO] [stdout] --> src/rendering/mod.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use self::tcod::{Console, background_flag, KeyState}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ no `KeyState` in the root [INFO] [stdout] | | [INFO] [stdout] | no `background_flag` in the root [INFO] [stdout] | help: a similar name exists in the module: `BackgroundFlag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::rand` [INFO] [stdout] --> src/movement/mod.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | use std::rand::Rng; [INFO] [stdout] | ^^^^ could not find `rand` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `self::tcod::Special`, `self::tcod::key_code` [INFO] [stdout] --> src/movement/mod.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use self::tcod::{Special, key_code}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ no `key_code` in the root [INFO] [stdout] | | [INFO] [stdout] | no `Special` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `util::DoesContain`, `util::DoesNotContain`, `util::LeftOfPoint`, `util::RightOfPoint`, `util::OnPointX`, `util::OnPointY`, `util::AbovePoint`, `util::BelowPoint`, `util::PointsEqual`, `util::PointsNotEqual` [INFO] [stdout] --> src/movement/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | DoesContain, [INFO] [stdout] | ^^^^^^^^^^^ no `DoesContain` in `util` [INFO] [stdout] 12 | DoesNotContain, [INFO] [stdout] | ^^^^^^^^^^^^^^ no `DoesNotContain` in `util` [INFO] [stdout] 13 | LeftOfPoint, [INFO] [stdout] | ^^^^^^^^^^^ no `LeftOfPoint` in `util` [INFO] [stdout] 14 | RightOfPoint, [INFO] [stdout] | ^^^^^^^^^^^^ no `RightOfPoint` in `util` [INFO] [stdout] 15 | OnPointX, [INFO] [stdout] | ^^^^^^^^ no `OnPointX` in `util` [INFO] [stdout] 16 | OnPointY, [INFO] [stdout] | ^^^^^^^^ no `OnPointY` in `util` [INFO] [stdout] 17 | AbovePoint, [INFO] [stdout] | ^^^^^^^^^^ no `AbovePoint` in `util` [INFO] [stdout] 18 | BelowPoint, [INFO] [stdout] | ^^^^^^^^^^ no `BelowPoint` in `util` [INFO] [stdout] 19 | PointsEqual, [INFO] [stdout] | ^^^^^^^^^^^ no `PointsEqual` in `util` [INFO] [stdout] 20 | PointsNotEqual [INFO] [stdout] | ^^^^^^^^^^^^^^ no `PointsNotEqual` in `util` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `rand` in `std` [INFO] [stdout] --> src/movement/mod.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | let offset_x = std::rand::task_rng().gen_range(0, 3i32) - 1; [INFO] [stdout] | ^^^^ could not find `rand` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `rand` in `std` [INFO] [stdout] --> src/movement/mod.rs:55:29 [INFO] [stdout] | [INFO] [stdout] 55 | let offset_y = std::rand::task_rng().gen_range(0, 3i32) - 1; [INFO] [stdout] | ^^^^ could not find `rand` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `RightOfPoint` in this scope [INFO] [stdout] --> src/util/mod.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | RightOfPoint [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::XPointRelation::RightOfPoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `LeftOfPoint` in this scope [INFO] [stdout] --> src/util/mod.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | LeftOfPoint [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::XPointRelation::LeftOfPoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OnPointX` in this scope [INFO] [stdout] --> src/util/mod.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | OnPointX [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::XPointRelation::OnPointX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `BelowPoint` in this scope [INFO] [stdout] --> src/util/mod.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | BelowPoint [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::YPointRelation::BelowPoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `AbovePoint` in this scope [INFO] [stdout] --> src/util/mod.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | AbovePoint [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::YPointRelation::AbovePoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OnPointY` in this scope [INFO] [stdout] --> src/util/mod.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | OnPointY [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::YPointRelation::OnPointY; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PointsEqual` in this scope [INFO] [stdout] --> src/util/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | PointsEqual [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::PointEquality::PointsEqual; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PointsNotEqual` in this scope [INFO] [stdout] --> src/util/mod.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | PointsNotEqual [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::PointEquality::PointsNotEqual; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DoesContain` in this scope [INFO] [stdout] --> src/util/mod.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | DoesContain [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::Contains::DoesContain; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DoesNotContain` in this scope [INFO] [stdout] --> src/util/mod.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | DoesNotContain [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::Contains::DoesNotContain; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | (bounds.max.x + 1) as int, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:22:35 [INFO] [stdout] | [INFO] [stdout] 22 | (bounds.max.y + 1) as int, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:37:45 [INFO] [stdout] | [INFO] [stdout] 37 | self.console.put_char(position.x as int, position.y as int, symbol, background_flag::Set); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:37:64 [INFO] [stdout] | [INFO] [stdout] 37 | self.console.put_char(position.x as int, position.y as int, symbol, background_flag::Set); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/game/mod.rs:41:48 [INFO] [stdout] | [INFO] [stdout] 41 | let rc : Box = box RenderingComponent::new(bounds); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:43:49 [INFO] [stdout] | [INFO] [stdout] 43 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:48:49 [INFO] [stdout] | [INFO] [stdout] 48 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:53:48 [INFO] [stdout] | [INFO] [stdout] 53 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:59:51 [INFO] [stdout] | [INFO] [stdout] 59 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/game/mod.rs:15:34 [INFO] [stdout] | [INFO] [stdout] 15 | pub rendering_component: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn RenderingComponent + 'static` [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/actor/mod.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | pub movement_component: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MovementComponent+'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/actor/mod.rs:26:50 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(x: i32, y: i32, dc: char, mc: Box) -> Actor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MovementComponent+'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/actor/mod.rs:38:52 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn render(&self, rendering_component: &mut RenderingComponent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn RenderingComponent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rendering/mod.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub console: Console [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Console` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `self::tcod::KeyState` [INFO] [stdout] --> src/game/mod.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use self::tcod::{KeyState}; [INFO] [stdout] | ^^^^^^^^ no `KeyState` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `self::tcod::background_flag`, `self::tcod::KeyState` [INFO] [stdout] --> src/rendering/mod.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use self::tcod::{Console, background_flag, KeyState}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ no `KeyState` in the root [INFO] [stdout] | | [INFO] [stdout] | no `background_flag` in the root [INFO] [stdout] | help: a similar name exists in the module: `BackgroundFlag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::rand` [INFO] [stdout] --> src/movement/mod.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | use std::rand::Rng; [INFO] [stdout] | ^^^^ could not find `rand` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `self::tcod::Special`, `self::tcod::key_code` [INFO] [stdout] --> src/movement/mod.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use self::tcod::{Special, key_code}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ no `key_code` in the root [INFO] [stdout] | | [INFO] [stdout] | no `Special` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `util::DoesContain`, `util::DoesNotContain`, `util::LeftOfPoint`, `util::RightOfPoint`, `util::OnPointX`, `util::OnPointY`, `util::AbovePoint`, `util::BelowPoint`, `util::PointsEqual`, `util::PointsNotEqual` [INFO] [stdout] --> src/movement/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | DoesContain, [INFO] [stdout] | ^^^^^^^^^^^ no `DoesContain` in `util` [INFO] [stdout] 12 | DoesNotContain, [INFO] [stdout] | ^^^^^^^^^^^^^^ no `DoesNotContain` in `util` [INFO] [stdout] 13 | LeftOfPoint, [INFO] [stdout] | ^^^^^^^^^^^ no `LeftOfPoint` in `util` [INFO] [stdout] 14 | RightOfPoint, [INFO] [stdout] | ^^^^^^^^^^^^ no `RightOfPoint` in `util` [INFO] [stdout] 15 | OnPointX, [INFO] [stdout] | ^^^^^^^^ no `OnPointX` in `util` [INFO] [stdout] 16 | OnPointY, [INFO] [stdout] | ^^^^^^^^ no `OnPointY` in `util` [INFO] [stdout] 17 | AbovePoint, [INFO] [stdout] | ^^^^^^^^^^ no `AbovePoint` in `util` [INFO] [stdout] 18 | BelowPoint, [INFO] [stdout] | ^^^^^^^^^^ no `BelowPoint` in `util` [INFO] [stdout] 19 | PointsEqual, [INFO] [stdout] | ^^^^^^^^^^^ no `PointsEqual` in `util` [INFO] [stdout] 20 | PointsNotEqual [INFO] [stdout] | ^^^^^^^^^^^^^^ no `PointsNotEqual` in `util` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `rand` in `std` [INFO] [stdout] --> src/movement/mod.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | let offset_x = std::rand::task_rng().gen_range(0, 3i32) - 1; [INFO] [stdout] | ^^^^ could not find `rand` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `rand` in `std` [INFO] [stdout] --> src/movement/mod.rs:55:29 [INFO] [stdout] | [INFO] [stdout] 55 | let offset_y = std::rand::task_rng().gen_range(0, 3i32) - 1; [INFO] [stdout] | ^^^^ could not find `rand` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `RightOfPoint` in this scope [INFO] [stdout] --> src/util/mod.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | RightOfPoint [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::XPointRelation::RightOfPoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `LeftOfPoint` in this scope [INFO] [stdout] --> src/util/mod.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | LeftOfPoint [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::XPointRelation::LeftOfPoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OnPointX` in this scope [INFO] [stdout] --> src/util/mod.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | OnPointX [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::XPointRelation::OnPointX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `BelowPoint` in this scope [INFO] [stdout] --> src/util/mod.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | BelowPoint [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::YPointRelation::BelowPoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `AbovePoint` in this scope [INFO] [stdout] --> src/util/mod.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | AbovePoint [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::YPointRelation::AbovePoint; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OnPointY` in this scope [INFO] [stdout] --> src/util/mod.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | OnPointY [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::YPointRelation::OnPointY; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PointsEqual` in this scope [INFO] [stdout] --> src/util/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | PointsEqual [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::PointEquality::PointsEqual; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PointsNotEqual` in this scope [INFO] [stdout] --> src/util/mod.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | PointsNotEqual [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::PointEquality::PointsNotEqual; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DoesContain` in this scope [INFO] [stdout] --> src/util/mod.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | DoesContain [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::Contains::DoesContain; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DoesNotContain` in this scope [INFO] [stdout] --> src/util/mod.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | DoesNotContain [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant [INFO] [stdout] | [INFO] [stdout] 1 | use util::Contains::DoesNotContain; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | (bounds.max.x + 1) as int, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:22:35 [INFO] [stdout] | [INFO] [stdout] 22 | (bounds.max.y + 1) as int, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:37:45 [INFO] [stdout] | [INFO] [stdout] 37 | self.console.put_char(position.x as int, position.y as int, symbol, background_flag::Set); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/rendering/mod.rs:37:64 [INFO] [stdout] | [INFO] [stdout] 37 | self.console.put_char(position.x as int, position.y as int, symbol, background_flag::Set); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/game/mod.rs:41:48 [INFO] [stdout] | [INFO] [stdout] 41 | let rc : Box = box RenderingComponent::new(bounds); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:43:49 [INFO] [stdout] | [INFO] [stdout] 43 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:48:49 [INFO] [stdout] | [INFO] [stdout] 48 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:53:48 [INFO] [stdout] | [INFO] [stdout] 53 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/actor/mod.rs:59:51 [INFO] [stdout] | [INFO] [stdout] 59 | let mc : Box = box MovementComponent::new(bound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] = help: add `#![feature(box_syntax)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/game/mod.rs:15:34 [INFO] [stdout] | [INFO] [stdout] 15 | pub rendering_component: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn RenderingComponent + 'static` [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/actor/mod.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | pub movement_component: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MovementComponent+'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/actor/mod.rs:26:50 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(x: i32, y: i32, dc: char, mc: Box) -> Actor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MovementComponent+'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/actor/mod.rs:38:52 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn render(&self, rendering_component: &mut RenderingComponent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn RenderingComponent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rendering/mod.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub console: Console [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Console` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `RenderingComponent` cannot be made into an object [INFO] [stdout] --> src/game/mod.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | pub rendering_component: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `RenderingComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/rendering/mod.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait RenderingComponent { [INFO] [stdout] | ------------------ this trait cannot be made into an object... [INFO] [stdout] 7 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 7 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 7 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `RenderingComponent` cannot be made into an object [INFO] [stdout] --> src/game/mod.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | pub rendering_component: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `RenderingComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/rendering/mod.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait RenderingComponent { [INFO] [stdout] | ------------------ this trait cannot be made into an object... [INFO] [stdout] 7 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 7 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 7 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `MovementComponent` cannot be made into an object [INFO] [stdout] --> src/actor/mod.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub movement_component: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MovementComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/movement/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait MovementComponent { [INFO] [stdout] | ----------------- this trait cannot be made into an object... [INFO] [stdout] 26 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 26 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 26 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `MovementComponent` cannot be made into an object [INFO] [stdout] --> src/actor/mod.rs:26:46 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(x: i32, y: i32, dc: char, mc: Box) -> Actor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MovementComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/movement/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait MovementComponent { [INFO] [stdout] | ----------------- this trait cannot be made into an object... [INFO] [stdout] 26 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 26 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 26 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `MovementComponent` cannot be made into an object [INFO] [stdout] --> src/actor/mod.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub movement_component: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MovementComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/movement/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait MovementComponent { [INFO] [stdout] | ----------------- this trait cannot be made into an object... [INFO] [stdout] 26 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 26 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 26 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `dwemthys` [INFO] [stdout] error[E0038]: the trait `RenderingComponent` cannot be made into an object [INFO] [stdout] --> src/actor/mod.rs:38:47 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn render(&self, rendering_component: &mut RenderingComponent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `RenderingComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/rendering/mod.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait RenderingComponent { [INFO] [stdout] | ------------------ this trait cannot be made into an object... [INFO] [stdout] 7 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 7 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 7 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] error: aborting due to 30 previous errors; 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stdout] Some errors have detailed explanations: E0038, E0412, E0425, E0432, E0433, E0658. [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] [stdout] error[E0038]: the trait `MovementComponent` cannot be made into an object [INFO] [stdout] --> src/actor/mod.rs:26:46 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(x: i32, y: i32, dc: char, mc: Box) -> Actor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MovementComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/movement/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait MovementComponent { [INFO] [stdout] | ----------------- this trait cannot be made into an object... [INFO] [stdout] 26 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 26 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 26 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `RenderingComponent` cannot be made into an object [INFO] [stdout] --> src/actor/mod.rs:38:47 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn render(&self, rendering_component: &mut RenderingComponent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `RenderingComponent` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/rendering/mod.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait RenderingComponent { [INFO] [stdout] | ------------------ this trait cannot be made into an object... [INFO] [stdout] 7 | fn new(Bound) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 7 | fn new(&self, Bound) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 7 | fn new(Bound) -> Self where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 30 previous errors; 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0412, E0425, E0432, E0433, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "05a440d2f77c70c7e430767c981a9551ecf8ccb2addcc1ddbdae4309b13a28d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05a440d2f77c70c7e430767c981a9551ecf8ccb2addcc1ddbdae4309b13a28d8", kill_on_drop: false }` [INFO] [stdout] 05a440d2f77c70c7e430767c981a9551ecf8ccb2addcc1ddbdae4309b13a28d8