[INFO] fetching crate tokyo 1.0.0... [INFO] testing tokyo-1.0.0 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate tokyo 1.0.0 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate tokyo 1.0.0 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate tokyo 1.0.0 [INFO] finished tweaking crates.io crate tokyo 1.0.0 [INFO] tweaked toml for crates.io crate tokyo 1.0.0 written to /workspace/builds/worker-6/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c5192322f3cf9016462a8c1f98ad34e7a72ba1b01544517ca8fa4b119dc2496c [INFO] running `Command { std: "docker" "start" "-a" "c5192322f3cf9016462a8c1f98ad34e7a72ba1b01544517ca8fa4b119dc2496c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5192322f3cf9016462a8c1f98ad34e7a72ba1b01544517ca8fa4b119dc2496c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5192322f3cf9016462a8c1f98ad34e7a72ba1b01544517ca8fa4b119dc2496c", kill_on_drop: false }` [INFO] [stdout] c5192322f3cf9016462a8c1f98ad34e7a72ba1b01544517ca8fa4b119dc2496c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2498b1a4358f434df02fb935a9ef53dec7813f2e0ad3b0a97f15fdc681c7cd17 [INFO] running `Command { std: "docker" "start" "-a" "2498b1a4358f434df02fb935a9ef53dec7813f2e0ad3b0a97f15fdc681c7cd17", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.123 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling byte-tools v0.3.1 [INFO] [stderr] Compiling match_cfg v0.1.0 [INFO] [stderr] Compiling fake-simd v0.1.2 [INFO] [stderr] Compiling opaque-debug v0.2.3 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling text_io v0.1.10 [INFO] [stderr] Compiling crossbeam-utils v0.6.6 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling generic-array v0.12.4 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling block-padding v0.1.5 [INFO] [stderr] Compiling crossbeam-channel v0.3.9 [INFO] [stderr] Compiling digest v0.8.1 [INFO] [stderr] Compiling block-buffer v0.7.3 [INFO] [stderr] Compiling sha-1 v0.8.2 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling openssl-sys v0.9.72 [INFO] [stderr] Compiling socket2 v0.3.19 [INFO] [stderr] Compiling hostname v0.3.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling resolv-conf v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling input_buffer v0.2.0 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling uuid v0.7.4 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling parking_lot v0.7.1 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-uds v0.2.7 [INFO] [stderr] Compiling tokio-signal v0.2.9 [INFO] [stderr] Compiling trust-dns-proto v0.6.3 [INFO] [stderr] Compiling trust-dns-proto v0.5.0 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling tokio-dns-unofficial v0.3.1 [INFO] [stderr] Compiling trust-dns-resolver v0.10.3 [INFO] [stderr] Compiling native-tls v0.2.10 [INFO] [stderr] Compiling tokio-tls v0.2.1 [INFO] [stderr] Compiling tungstenite v0.6.1 [INFO] [stderr] Compiling euclid_macros v0.1.0 [INFO] [stderr] Compiling actix_derive v0.3.2 [INFO] [stderr] Compiling tokio-tungstenite v0.6.0 [INFO] [stderr] Compiling actix v0.7.9 [INFO] [stderr] Compiling euclid v0.19.9 [INFO] [stderr] Compiling tokyo v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | inner: VecDeque>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - inner: VecDeque>, [INFO] [stdout] 112 + inner: VecDeque>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 - impl Clone for Box { [INFO] [stdout] 95 + impl Clone for Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:101:22 [INFO] [stdout] | [INFO] [stdout] 101 | impl Default for Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 - impl Default for Box { [INFO] [stdout] 101 + impl Default for Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | fn box_clone(&self) -> Box; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 92 - fn box_clone(&self) -> Box; [INFO] [stdout] 92 + fn box_clone(&self) -> Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 - fn box_clone(&self) -> Box { [INFO] [stdout] 126 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 - pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stdout] 136 + pub fn with_slice(behaviors: &[&dyn Behavior]) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 - fn box_clone(&self) -> Box { [INFO] [stdout] 150 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:165:32 [INFO] [stdout] | [INFO] [stdout] 165 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - fn box_clone(&self) -> Box { [INFO] [stdout] 165 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 186 - fn box_clone(&self) -> Box { [INFO] [stdout] 186 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:231:32 [INFO] [stdout] | [INFO] [stdout] 231 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 231 - fn box_clone(&self) -> Box { [INFO] [stdout] 231 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:253:32 [INFO] [stdout] | [INFO] [stdout] 253 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - fn box_clone(&self) -> Box { [INFO] [stdout] 253 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:284:32 [INFO] [stdout] | [INFO] [stdout] 284 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 284 - fn box_clone(&self) -> Box { [INFO] [stdout] 284 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:329:32 [INFO] [stdout] | [INFO] [stdout] 329 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 329 - fn box_clone(&self) -> Box { [INFO] [stdout] 329 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:362:32 [INFO] [stdout] | [INFO] [stdout] 362 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 362 - fn box_clone(&self) -> Box { [INFO] [stdout] 362 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:393:32 [INFO] [stdout] | [INFO] [stdout] 393 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 393 - fn box_clone(&self) -> Box { [INFO] [stdout] 393 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:414:32 [INFO] [stdout] | [INFO] [stdout] 414 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn box_clone(&self) -> Box { [INFO] [stdout] 414 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn distance(&self, other: &PointExt) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - fn distance(&self, other: &PointExt) -> f32 { [INFO] [stdout] 44 + fn distance(&self, other: &dyn PointExt) -> f32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:49:32 [INFO] [stdout] | [INFO] [stdout] 49 | fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stdout] 49 + fn angle_to(&self, other: &dyn PointExt) -> Radian { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 - fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stdout] 55 + fn velocity_to(&self, other: &dyn PointExt, dt: Duration) -> Vector { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.08s [INFO] running `Command { std: "docker" "inspect" "2498b1a4358f434df02fb935a9ef53dec7813f2e0ad3b0a97f15fdc681c7cd17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2498b1a4358f434df02fb935a9ef53dec7813f2e0ad3b0a97f15fdc681c7cd17", kill_on_drop: false }` [INFO] [stdout] 2498b1a4358f434df02fb935a9ef53dec7813f2e0ad3b0a97f15fdc681c7cd17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0a50341bb88a93b189a226f617da5d6f42d13f1878e4145358723fe3d3be8b5c [INFO] running `Command { std: "docker" "start" "-a" "0a50341bb88a93b189a226f617da5d6f42d13f1878e4145358723fe3d3be8b5c", kill_on_drop: false }` [INFO] [stderr] Compiling tokyo v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | inner: VecDeque>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - inner: VecDeque>, [INFO] [stdout] 112 + inner: VecDeque>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 - impl Clone for Box { [INFO] [stdout] 95 + impl Clone for Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:101:22 [INFO] [stdout] | [INFO] [stdout] 101 | impl Default for Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 - impl Default for Box { [INFO] [stdout] 101 + impl Default for Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | fn box_clone(&self) -> Box; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 92 - fn box_clone(&self) -> Box; [INFO] [stdout] 92 + fn box_clone(&self) -> Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 - fn box_clone(&self) -> Box { [INFO] [stdout] 126 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 - pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stdout] 136 + pub fn with_slice(behaviors: &[&dyn Behavior]) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 - fn box_clone(&self) -> Box { [INFO] [stdout] 150 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:165:32 [INFO] [stdout] | [INFO] [stdout] 165 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - fn box_clone(&self) -> Box { [INFO] [stdout] 165 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 186 - fn box_clone(&self) -> Box { [INFO] [stdout] 186 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:231:32 [INFO] [stdout] | [INFO] [stdout] 231 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 231 - fn box_clone(&self) -> Box { [INFO] [stdout] 231 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:253:32 [INFO] [stdout] | [INFO] [stdout] 253 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - fn box_clone(&self) -> Box { [INFO] [stdout] 253 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:284:32 [INFO] [stdout] | [INFO] [stdout] 284 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 284 - fn box_clone(&self) -> Box { [INFO] [stdout] 284 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:329:32 [INFO] [stdout] | [INFO] [stdout] 329 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 329 - fn box_clone(&self) -> Box { [INFO] [stdout] 329 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:362:32 [INFO] [stdout] | [INFO] [stdout] 362 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 362 - fn box_clone(&self) -> Box { [INFO] [stdout] 362 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:393:32 [INFO] [stdout] | [INFO] [stdout] 393 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 393 - fn box_clone(&self) -> Box { [INFO] [stdout] 393 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:414:32 [INFO] [stdout] | [INFO] [stdout] 414 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn box_clone(&self) -> Box { [INFO] [stdout] 414 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn distance(&self, other: &PointExt) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - fn distance(&self, other: &PointExt) -> f32 { [INFO] [stdout] 44 + fn distance(&self, other: &dyn PointExt) -> f32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:49:32 [INFO] [stdout] | [INFO] [stdout] 49 | fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stdout] 49 + fn angle_to(&self, other: &dyn PointExt) -> Radian { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 - fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stdout] 55 + fn velocity_to(&self, other: &dyn PointExt, dt: Duration) -> Vector { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/chaser.rs:21:27 [INFO] [stdout] | [INFO] [stdout] 21 | current_behavior: Box, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - current_behavior: Box, [INFO] [stdout] 21 + current_behavior: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/chaser.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | fn chase() -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 - fn chase() -> Box { [INFO] [stdout] 24 + fn chase() -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | inner: VecDeque>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - inner: VecDeque>, [INFO] [stdout] 112 + inner: VecDeque>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 - impl Clone for Box { [INFO] [stdout] 95 + impl Clone for Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:101:22 [INFO] [stdout] | [INFO] [stdout] 101 | impl Default for Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 - impl Default for Box { [INFO] [stdout] 101 + impl Default for Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | fn box_clone(&self) -> Box; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 92 - fn box_clone(&self) -> Box; [INFO] [stdout] 92 + fn box_clone(&self) -> Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 - fn box_clone(&self) -> Box { [INFO] [stdout] 126 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 - pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stdout] 136 + pub fn with_slice(behaviors: &[&dyn Behavior]) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 - fn box_clone(&self) -> Box { [INFO] [stdout] 150 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:165:32 [INFO] [stdout] | [INFO] [stdout] 165 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - fn box_clone(&self) -> Box { [INFO] [stdout] 165 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 186 - fn box_clone(&self) -> Box { [INFO] [stdout] 186 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:231:32 [INFO] [stdout] | [INFO] [stdout] 231 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 231 - fn box_clone(&self) -> Box { [INFO] [stdout] 231 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:253:32 [INFO] [stdout] | [INFO] [stdout] 253 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - fn box_clone(&self) -> Box { [INFO] [stdout] 253 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:284:32 [INFO] [stdout] | [INFO] [stdout] 284 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 284 - fn box_clone(&self) -> Box { [INFO] [stdout] 284 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:329:32 [INFO] [stdout] | [INFO] [stdout] 329 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 329 - fn box_clone(&self) -> Box { [INFO] [stdout] 329 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:362:32 [INFO] [stdout] | [INFO] [stdout] 362 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 362 - fn box_clone(&self) -> Box { [INFO] [stdout] 362 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:393:32 [INFO] [stdout] | [INFO] [stdout] 393 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 393 - fn box_clone(&self) -> Box { [INFO] [stdout] 393 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/behavior.rs:414:32 [INFO] [stdout] | [INFO] [stdout] 414 | fn box_clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn box_clone(&self) -> Box { [INFO] [stdout] 414 + fn box_clone(&self) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn distance(&self, other: &PointExt) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - fn distance(&self, other: &PointExt) -> f32 { [INFO] [stdout] 44 + fn distance(&self, other: &dyn PointExt) -> f32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:49:32 [INFO] [stdout] | [INFO] [stdout] 49 | fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stdout] 49 + fn angle_to(&self, other: &dyn PointExt) -> Radian { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geom.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 - fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stdout] 55 + fn velocity_to(&self, other: &dyn PointExt, dt: Duration) -> Vector { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.79s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/tokyo-69787a3be47fc895) [INFO] running `Command { std: "docker" "inspect" "0a50341bb88a93b189a226f617da5d6f42d13f1878e4145358723fe3d3be8b5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a50341bb88a93b189a226f617da5d6f42d13f1878e4145358723fe3d3be8b5c", kill_on_drop: false }` [INFO] [stdout] 0a50341bb88a93b189a226f617da5d6f42d13f1878e4145358723fe3d3be8b5c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d53b392aac94a0d1a0b014484fa28def371e32c97ac03000ef6b7436fb02165c [INFO] running `Command { std: "docker" "start" "-a" "d53b392aac94a0d1a0b014484fa28def371e32c97ac03000ef6b7436fb02165c", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | inner: VecDeque>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 112 - inner: VecDeque>, [INFO] [stderr] 112 + inner: VecDeque>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 95 - impl Clone for Box { [INFO] [stderr] 95 + impl Clone for Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:101:22 [INFO] [stderr] | [INFO] [stderr] 101 | impl Default for Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 101 - impl Default for Box { [INFO] [stderr] 101 + impl Default for Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:92:32 [INFO] [stderr] | [INFO] [stderr] 92 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 92 - fn box_clone(&self) -> Box; [INFO] [stderr] 92 + fn box_clone(&self) -> Box; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:126:32 [INFO] [stderr] | [INFO] [stderr] 126 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 126 - fn box_clone(&self) -> Box { [INFO] [stderr] 126 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:136:37 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 136 - pub fn with_slice(behaviors: &[&Behavior]) -> Self { [INFO] [stderr] 136 + pub fn with_slice(behaviors: &[&dyn Behavior]) -> Self { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:150:32 [INFO] [stderr] | [INFO] [stderr] 150 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 150 - fn box_clone(&self) -> Box { [INFO] [stderr] 150 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:165:32 [INFO] [stderr] | [INFO] [stderr] 165 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 165 - fn box_clone(&self) -> Box { [INFO] [stderr] 165 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:186:32 [INFO] [stderr] | [INFO] [stderr] 186 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 186 - fn box_clone(&self) -> Box { [INFO] [stderr] 186 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:231:32 [INFO] [stderr] | [INFO] [stderr] 231 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 231 - fn box_clone(&self) -> Box { [INFO] [stderr] 231 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:253:32 [INFO] [stderr] | [INFO] [stderr] 253 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 253 - fn box_clone(&self) -> Box { [INFO] [stderr] 253 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:284:32 [INFO] [stderr] | [INFO] [stderr] 284 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 284 - fn box_clone(&self) -> Box { [INFO] [stderr] 284 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:329:32 [INFO] [stderr] | [INFO] [stderr] 329 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 329 - fn box_clone(&self) -> Box { [INFO] [stderr] 329 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:362:32 [INFO] [stderr] | [INFO] [stderr] 362 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 362 - fn box_clone(&self) -> Box { [INFO] [stderr] 362 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:393:32 [INFO] [stderr] | [INFO] [stderr] 393 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 393 - fn box_clone(&self) -> Box { [INFO] [stderr] 393 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/behavior.rs:414:32 [INFO] [stderr] | [INFO] [stderr] 414 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 414 - fn box_clone(&self) -> Box { [INFO] [stderr] 414 + fn box_clone(&self) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/geom.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | fn distance(&self, other: &PointExt) -> f32 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 44 - fn distance(&self, other: &PointExt) -> f32 { [INFO] [stderr] 44 + fn distance(&self, other: &dyn PointExt) -> f32 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/geom.rs:49:32 [INFO] [stderr] | [INFO] [stderr] 49 | fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 - fn angle_to(&self, other: &PointExt) -> Radian { [INFO] [stderr] 49 + fn angle_to(&self, other: &dyn PointExt) -> Radian { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/geom.rs:55:35 [INFO] [stderr] | [INFO] [stderr] 55 | fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 55 - fn velocity_to(&self, other: &PointExt, dt: Duration) -> Vector { [INFO] [stderr] 55 + fn velocity_to(&self, other: &dyn PointExt, dt: Duration) -> Vector { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `tokyo` (lib) generated 19 warnings [INFO] [stderr] warning: `tokyo` (lib test) generated 19 warnings (19 duplicates) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/chaser.rs:21:27 [INFO] [stderr] | [INFO] [stderr] 21 | current_behavior: Box, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 - current_behavior: Box, [INFO] [stderr] 21 + current_behavior: Box, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/chaser.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | fn chase() -> Box { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 24 - fn chase() -> Box { [INFO] [stderr] 24 + fn chase() -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `tokyo` (example "chaser") generated 2 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tokyo-69787a3be47fc895) [INFO] [stdout] [INFO] [stderr] Doc-tests tokyo [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/analyzer.rs - analyzer::Analyzer (line 22) ... FAILED [INFO] [stdout] test src/behavior.rs - behavior::Behavior (line 22) ... FAILED [INFO] [stdout] test src/behavior.rs - behavior::Behavior (line 56) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/analyzer.rs - analyzer::Analyzer (line 22) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Analyzer` [INFO] [stdout] --> src/analyzer.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 3 | let mut analyzer = Analyzer::default(); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::analyzer::Analyzer; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `state` in this scope [INFO] [stdout] --> src/analyzer.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 6 | analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instant` [INFO] [stdout] --> src/analyzer.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 6 | analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::Instant; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `do_something_with` in this scope [INFO] [stdout] --> src/analyzer.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 10 | do_something_with(player); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/behavior.rs - behavior::Behavior (line 22) stdout ---- [INFO] [stdout] error: C-variadic function must be declared with at least one named argument [INFO] [stdout] --> src/behavior.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error: only foreign or `unsafe extern "C"` functions may be C-variadic [INFO] [stdout] --> src/behavior.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Target` [INFO] [stdout] --> src/behavior.rs:43:37 [INFO] [stdout] | [INFO] [stdout] 23 | let chase = Chase { target: Target::HighestScore, distance: 200.0 }; [INFO] [stdout] | ^^^^^^ use of undeclared type `Target` [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Target` [INFO] [stdout] --> src/behavior.rs:46:39 [INFO] [stdout] | [INFO] [stdout] 26 | let fire = FireAt::with_times(Target::HighestScore, 2); [INFO] [stdout] | ^^^^^^ use of undeclared type `Target` [INFO] [stdout] [INFO] [stdout] error[E0405]: cannot find trait `Handlar` in this scope [INFO] [stdout] --> src/behavior.rs:23:6 [INFO] [stdout] | [INFO] [stdout] 3 | impl Handlar for Player { [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Player` in this scope [INFO] [stdout] --> src/behavior.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 3 | impl Handlar for Player { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::analyzer::player::Player; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] 5 | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `state` in this scope [INFO] [stdout] --> src/behavior.rs:25:34 [INFO] [stdout] | [INFO] [stdout] 5 | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instant` [INFO] [stdout] --> src/behavior.rs:25:41 [INFO] [stdout] | [INFO] [stdout] 5 | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::Instant; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:27:37 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] ... [INFO] [stdout] 7 | if let Some(next_command) = self.current_behavior.next_command(&self.analyzer) { [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:27:73 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] ... [INFO] [stdout] 7 | if let Some(next_command) = self.current_behavior.next_command(&self.analyzer) { [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] ... [INFO] [stdout] 14 | self.current_behavior = Self::next_behavior(); [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] ... [INFO] [stdout] 16 | self.current_behavior.next_command(&analyzer) [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/behavior.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 16 | self.current_behavior.next_command(&analyzer) [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Sequence` in this scope [INFO] [stdout] --> src/behavior.rs:39:27 [INFO] [stdout] | [INFO] [stdout] 19 | fn next_behavior() -> Sequence { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::Sequence; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Chase` in this scope [INFO] [stdout] --> src/behavior.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 23 | let chase = Chase { target: Target::HighestScore, distance: 200.0 }; [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::Chase; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FireAt` [INFO] [stdout] --> src/behavior.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 26 | let fire = FireAt::with_times(Target::HighestScore, 2); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::FireAt; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Sequence` [INFO] [stdout] --> src/behavior.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 29 | Sequence::with_slice(&[&chase, &fire]) [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::Sequence; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0658]: C-variadic functions are unstable [INFO] [stdout] --> src/behavior.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 4 | / fn tick(...) { [INFO] [stdout] 5 | | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] 6 | | [INFO] [stdout] 7 | | if let Some(next_command) = self.current_behavior.next_command(&self.analyzer) { [INFO] [stdout] ... | [INFO] [stdout] 16 | | self.current_behavior.next_command(&analyzer) [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #44930 for more information [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0422, E0424, E0425, E0433, E0658. [INFO] [stdout] For more information about an error, try `rustc --explain E0405`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/behavior.rs - behavior::Behavior (line 56) stdout ---- [INFO] [stdout] error: C-variadic function must be declared with at least one named argument [INFO] [stdout] --> src/behavior.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error: only foreign or `unsafe extern "C"` functions may be C-variadic [INFO] [stdout] --> src/behavior.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error[E0405]: cannot find trait `Handlar` in this scope [INFO] [stdout] --> src/behavior.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 3 | impl Handlar for Player { [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Player` in this scope [INFO] [stdout] --> src/behavior.rs:57:18 [INFO] [stdout] | [INFO] [stdout] 3 | impl Handlar for Player { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::analyzer::player::Player; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] 5 | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `state` in this scope [INFO] [stdout] --> src/behavior.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 5 | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instant` [INFO] [stdout] --> src/behavior.rs:59:41 [INFO] [stdout] | [INFO] [stdout] 5 | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::Instant; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] ... [INFO] [stdout] 8 | if let Some(bullet) = self.analyzer.bullets_colliding(Duration::from_secs(1)).next() { [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration` [INFO] [stdout] --> src/behavior.rs:62:63 [INFO] [stdout] | [INFO] [stdout] 8 | if let Some(bullet) = self.analyzer.bullets_colliding(Duration::from_secs(1)).next() { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 2 | use core::time::Duration; [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::Duration; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Sequence` [INFO] [stdout] --> src/behavior.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 13 | let dodge = Sequence::with_slice(&[ [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::Sequence; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rotate` [INFO] [stdout] --> src/behavior.rs:68:18 [INFO] [stdout] | [INFO] [stdout] 14 | &Rotate::with_margin_degrees(angle, 30.0), [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::Rotate; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Throttle` [INFO] [stdout] --> src/behavior.rs:69:18 [INFO] [stdout] | [INFO] [stdout] 15 | &Throttle::max(), [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 | use tokyo::behavior::Throttle; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0424]: expected value, found module `self` [INFO] [stdout] --> src/behavior.rs:79:40 [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(...) { [INFO] [stdout] | ---- this function doesn't have a `self` parameter [INFO] [stdout] ... [INFO] [stdout] 25 | return dodge.next_command(&self.analyzer); [INFO] [stdout] | ^^^^ `self` value is a keyword only available in methods with a `self` parameter [INFO] [stdout] | [INFO] [stdout] help: add a `self` receiver parameter to make the associated `fn` a method [INFO] [stdout] | [INFO] [stdout] 4 | fn tick(&self, ...) { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0658]: C-variadic functions are unstable [INFO] [stdout] --> src/behavior.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 4 | / fn tick(...) { [INFO] [stdout] 5 | | self.analyzer.push_state(state, Instant::now()); [INFO] [stdout] 6 | | [INFO] [stdout] 7 | | // Find one of the bullets that are colliding within a second. [INFO] [stdout] ... | [INFO] [stdout] 27 | | None [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #44930 for more information [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0424, E0425, E0433, E0658. [INFO] [stdout] For more information about an error, try `rustc --explain E0405`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/analyzer.rs - analyzer::Analyzer (line 22) [INFO] [stdout] src/behavior.rs - behavior::Behavior (line 22) [INFO] [stdout] src/behavior.rs - behavior::Behavior (line 56) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--doc' [INFO] running `Command { std: "docker" "inspect" "d53b392aac94a0d1a0b014484fa28def371e32c97ac03000ef6b7436fb02165c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d53b392aac94a0d1a0b014484fa28def371e32c97ac03000ef6b7436fb02165c", kill_on_drop: false }` [INFO] [stdout] d53b392aac94a0d1a0b014484fa28def371e32c97ac03000ef6b7436fb02165c