[INFO] cloning repository https://github.com/walston/chess-keypad [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/walston/chess-keypad" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwalston%2Fchess-keypad", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwalston%2Fchess-keypad'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4cf1be0c178d7b5ab377899acd82850d54d63d97 [INFO] checking walston/chess-keypad against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwalston%2Fchess-keypad" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/walston/chess-keypad 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/walston/chess-keypad [INFO] finished tweaking git repo https://github.com/walston/chess-keypad [INFO] tweaked toml for git repo https://github.com/walston/chess-keypad written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/walston/chess-keypad 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 7435f48d30bc6fcaa597363d531d7e0a557aeeb71b5dc0e8bb854825ee762313 [INFO] running `Command { std: "docker" "start" "-a" "7435f48d30bc6fcaa597363d531d7e0a557aeeb71b5dc0e8bb854825ee762313", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7435f48d30bc6fcaa597363d531d7e0a557aeeb71b5dc0e8bb854825ee762313", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7435f48d30bc6fcaa597363d531d7e0a557aeeb71b5dc0e8bb854825ee762313", kill_on_drop: false }` [INFO] [stdout] 7435f48d30bc6fcaa597363d531d7e0a557aeeb71b5dc0e8bb854825ee762313 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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] d0e68a3484e6fb612eccecc88dc53e5c69202e77d3e8030d7226d79099b69dba [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" "d0e68a3484e6fb612eccecc88dc53e5c69202e77d3e8030d7226d79099b69dba", kill_on_drop: false }` [INFO] [stderr] Checking chess-keypad v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum is never used: `Key` [INFO] [stdout] --> src/lib.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum Key { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Piece` [INFO] [stdout] --> src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub type Piece = dyn Move; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn pieces::Move` cannot be known at compilation time [INFO] [stdout] --> src/lib.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn pieces::Move` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `pieces::Move` cannot be made into an object [INFO] [stdout] --> src/lib.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^ `pieces::Move` 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/lib.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Move { [INFO] [stdout] | ---- this trait cannot be made into an object... [INFO] [stdout] 27 | fn next(_start: &char) -> Option> { [INFO] [stdout] | ^^^^ ...because associated function `next` has no `self` parameter [INFO] [stdout] help: consider turning `next` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 27 | fn next(&self, _start: &char) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `next` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 27 | fn next(_start: &char) -> Option> where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^ expected trait object `dyn pieces::Move`, found struct `pieces::Rook` [INFO] [stdout] | [INFO] [stdout] = note: expected trait object `dyn pieces::Move` [INFO] [stdout] found struct `pieces::Rook` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn pieces::Move` cannot be known at compilation time [INFO] [stdout] --> src/lib.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn pieces::Move` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn pieces::Move` cannot be known at compilation time [INFO] [stdout] --> src/lib.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn pieces::Move` [INFO] [stdout] = note: slice and array elements must have `Sized` type [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `pieces::Move` cannot be made into an object [INFO] [stdout] --> src/lib.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `pieces::Move` 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/lib.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Move { [INFO] [stdout] | ---- this trait cannot be made into an object... [INFO] [stdout] 27 | fn next(_start: &char) -> Option> { [INFO] [stdout] | ^^^^ ...because associated function `next` has no `self` parameter [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider turning `next` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 27 | fn next(&self, _start: &char) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `next` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 27 | fn next(_start: &char) -> Option> where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn pieces::Move` cannot be known at compilation time [INFO] [stdout] --> src/lib.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn pieces::Move` [INFO] [stdout] = note: slice and array elements must have `Sized` type [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn pieces::Move` cannot be known at compilation time [INFO] [stdout] --> src/lib.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn pieces::Move` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `pieces::Move` cannot be made into an object [INFO] [stdout] --> src/lib.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | let pieces: Vec = vec![Rook{}, Knight{}, Bishop{}, Queen{}, King{}]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `pieces::Move` 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/lib.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Move { [INFO] [stdout] | ---- this trait cannot be made into an object... [INFO] [stdout] 27 | fn next(_start: &char) -> Option> { [INFO] [stdout] | ^^^^ ...because associated function `next` has no `self` parameter [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider turning `next` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 27 | fn next(&self, _start: &char) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: alternatively, consider constraining `next` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 27 | fn next(_start: &char) -> Option> where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `iter` found for struct `Vec` in the current scope [INFO] [stdout] --> src/lib.rs:153:29 [INFO] [stdout] | [INFO] [stdout] 153 | for piece in pieces.iter() { [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: could not compile `chess-keypad` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "d0e68a3484e6fb612eccecc88dc53e5c69202e77d3e8030d7226d79099b69dba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0e68a3484e6fb612eccecc88dc53e5c69202e77d3e8030d7226d79099b69dba", kill_on_drop: false }` [INFO] [stdout] d0e68a3484e6fb612eccecc88dc53e5c69202e77d3e8030d7226d79099b69dba