[INFO] cloning repository https://github.com/r0c0n/brain [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/r0c0n/brain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fr0c0n%2Fbrain", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fr0c0n%2Fbrain'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b38b8f8686d5ea529dac676513816629fb75de0a [INFO] checking r0c0n/brain/b38b8f8686d5ea529dac676513816629fb75de0a against master#9f32ccf35fb877270bc44a86a126440f04d676d0 for pr-140283 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fr0c0n%2Fbrain" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/r0c0n/brain [INFO] finished tweaking git repo https://github.com/r0c0n/brain [INFO] tweaked toml for git repo https://github.com/r0c0n/brain written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/r0c0n/brain on toolchain 9f32ccf35fb877270bc44a86a126440f04d676d0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f32ccf35fb877270bc44a86a126440f04d676d0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/r0c0n/brain already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f32ccf35fb877270bc44a86a126440f04d676d0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded thread-tree v0.3.3 [INFO] [stderr] Downloaded ordered-float v5.0.0 [INFO] [stderr] Downloaded nalgebra-macros v0.3.0 [INFO] [stderr] Downloaded cubecl-macros-internal v0.6.0 [INFO] [stderr] Downloaded burn-common v0.18.0 [INFO] [stderr] Downloaded gemm v0.18.2 [INFO] [stderr] Downloaded burn-candle v0.18.0 [INFO] [stderr] Downloaded gix-features v0.42.1 [INFO] [stderr] Downloaded sysctl v0.6.0 [INFO] [stderr] Downloaded gemm-f32 v0.18.2 [INFO] [stderr] Downloaded derive-new v0.7.0 [INFO] [stderr] Downloaded gemm-c32 v0.18.2 [INFO] [stderr] Downloaded gemm-c64 v0.18.2 [INFO] [stderr] Downloaded dyn-stack v0.13.0 [INFO] [stderr] Downloaded cubecl-hip v0.6.0 [INFO] [stderr] Downloaded raw-cpuid v11.6.0 [INFO] [stderr] Downloaded cubecl-cuda v0.6.0 [INFO] [stderr] Downloaded gix-trace v0.1.13 [INFO] [stderr] Downloaded candle-core v0.8.4 [INFO] [stderr] Downloaded burn-tch v0.18.0 [INFO] [stderr] Downloaded gix-path v0.10.20 [INFO] [stderr] Downloaded pulp v0.21.5 [INFO] [stderr] Downloaded burn-router v0.18.0 [INFO] [stderr] Downloaded burn-cuda v0.18.0 [INFO] [stderr] Downloaded torch-sys v0.19.0 [INFO] [stderr] Downloaded burn-ir v0.18.0 [INFO] [stderr] Downloaded burn-autodiff v0.18.0 [INFO] [stderr] Downloaded burn-cubecl v0.18.0 [INFO] [stderr] Downloaded burn-dataset v0.18.0 [INFO] [stderr] Downloaded burn-fusion v0.18.0 [INFO] [stderr] Downloaded burn-tensor v0.18.0 [INFO] [stderr] Downloaded cudarc v0.16.6 [INFO] [stderr] Downloaded burn-core v0.18.0 [INFO] [stderr] Downloaded cubecl-core v0.6.0 [INFO] [stderr] Downloaded rstest_macros v0.25.0 [INFO] [stderr] Downloaded burn-cubecl-fusion v0.18.0 [INFO] [stderr] Downloaded cubecl-convolution v0.6.0 [INFO] [stderr] Downloaded avif-serialize v0.8.6 [INFO] [stderr] Downloaded wrapcenum-derive v0.4.1 [INFO] [stderr] Downloaded systemstat v0.2.5 [INFO] [stderr] Downloaded text_placeholder v0.5.1 [INFO] [stderr] Downloaded glam v0.16.0 [INFO] [stderr] Downloaded safetensors v0.3.3 [INFO] [stderr] Downloaded gix-validate v0.10.0 [INFO] [stderr] Downloaded gix-tempfile v17.1.0 [INFO] [stderr] Downloaded macerator-macros v0.1.3 [INFO] [stderr] Downloaded cubecl-hip-sys v6.4.4348201 [INFO] [stderr] Downloaded wgpu v25.0.2 [INFO] [stderr] Downloaded burn-derive v0.18.0 [INFO] [stderr] Downloaded nvml-wrapper-sys v0.9.0 [INFO] [stderr] Downloaded rstest v0.25.0 [INFO] [stderr] Downloaded wgpu-hal v25.0.2 [INFO] [stderr] Downloaded gix-utils v0.3.0 [INFO] [stderr] Downloaded gix-fs v0.15.0 [INFO] [stderr] Downloaded bit_field v0.10.3 [INFO] [stderr] Downloaded moddef v0.3.0 [INFO] [stderr] Downloaded macerator v0.2.9 [INFO] [stderr] Downloaded bytesize v1.3.3 [INFO] [stderr] Downloaded cubecl-cpp v0.6.0 [INFO] [stderr] Downloaded cubecl-matmul v0.6.0 [INFO] [stderr] Downloaded cubecl-std v0.6.0 [INFO] [stderr] Downloaded embassy-time v0.4.0 [INFO] [stderr] Downloaded cubecl-runtime v0.6.0 [INFO] [stderr] Downloaded cubecl-wgpu v0.6.0 [INFO] [stderr] Downloaded glam v0.17.3 [INFO] [stderr] Downloaded glam v0.20.5 [INFO] [stderr] Downloaded lebe v0.5.3 [INFO] [stderr] Downloaded r2d2_sqlite v0.31.0 [INFO] [stderr] Downloaded wgpu-core-deps-emscripten v25.0.0 [INFO] [stderr] Downloaded wgpu-core-deps-windows-linux-android v25.0.0 [INFO] [stderr] Downloaded serde_rusqlite v0.40.0 [INFO] [stderr] Downloaded cubecl-random v0.6.0 [INFO] [stderr] Downloaded cubecl-ir v0.6.0 [INFO] [stderr] Downloaded wgpu-core-deps-apple v25.0.0 [INFO] [stderr] Downloaded rgb v0.8.52 [INFO] [stderr] Downloaded embassy-time-driver v0.2.1 [INFO] [stderr] Downloaded sanitize-filename v0.6.0 [INFO] [stderr] Downloaded wgpu-core v25.0.2 [INFO] [stderr] Downloaded codespan-reporting v0.12.0 [INFO] [stderr] Downloaded wgpu-types v25.0.0 [INFO] [stderr] Downloaded rand_distr v0.5.1 [INFO] [stderr] Downloaded cubecl v0.6.0 [INFO] [stderr] Downloaded burn v0.18.0 [INFO] [stderr] Downloaded wasi v0.14.4+wasi-0.2.4 [INFO] [stderr] Downloaded glam v0.14.0 [INFO] [stderr] Downloaded glam v0.15.2 [INFO] [stderr] Downloaded glam v0.18.0 [INFO] [stderr] Downloaded cubecl-reduce v0.6.0 [INFO] [stderr] Downloaded embassy-futures v0.1.2 [INFO] [stderr] Downloaded cubecl-common v0.6.0 [INFO] [stderr] Downloaded spin v0.10.0 [INFO] [stderr] Downloaded cubecl-macros v0.6.0 [INFO] [stderr] Downloaded md5 v0.8.0 [INFO] [stderr] Downloaded naga v25.0.1 [INFO] [stderr] Downloaded burn-wgpu v0.18.0 [INFO] [stderr] Downloaded glam v0.30.5 [INFO] [stderr] Downloaded parry2d v0.23.0 [INFO] [stderr] Downloaded glam v0.19.0 [INFO] [stderr] Downloaded glam v0.28.0 [INFO] [stderr] Downloaded nalgebra v0.34.0 [INFO] [stderr] Downloaded spade v2.15.0 [INFO] [stderr] Downloaded rapier2d v0.28.0 [INFO] [stderr] Downloaded gemm-f16 v0.18.2 [INFO] [stderr] Downloaded gemm-common v0.18.2 [INFO] [stderr] Downloaded sysinfo v0.36.1 [INFO] [stderr] Downloaded simba v0.9.1 [INFO] [stderr] Downloaded ug v0.1.0 [INFO] [stderr] Downloaded image-webp v0.2.4 [INFO] [stderr] Downloaded zune-jpeg v0.4.21 [INFO] [stderr] Downloaded burn-ndarray v0.18.0 [INFO] [stderr] Downloaded nvml-wrapper v0.11.0 [INFO] [stderr] Downloaded burn-train v0.18.0 [INFO] [stderr] Downloaded gemm-f64 v0.18.2 [INFO] [stderr] Downloaded burn-remote v0.18.0 [INFO] [stderr] Downloaded burn-rocm v0.18.0 [INFO] [stderr] Downloaded atomic_float v1.1.0 [INFO] [stderr] Downloaded tch v0.19.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+9f32ccf35fb877270bc44a86a126440f04d676d0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 691c564edf24ba43fe422d34fc0c10e173c7da34ac7f83c2e600603fd454fd76 [INFO] running `Command { std: "docker" "start" "-a" "691c564edf24ba43fe422d34fc0c10e173c7da34ac7f83c2e600603fd454fd76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "691c564edf24ba43fe422d34fc0c10e173c7da34ac7f83c2e600603fd454fd76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "691c564edf24ba43fe422d34fc0c10e173c7da34ac7f83c2e600603fd454fd76", kill_on_drop: false }` [INFO] [stdout] 691c564edf24ba43fe422d34fc0c10e173c7da34ac7f83c2e600603fd454fd76 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+9f32ccf35fb877270bc44a86a126440f04d676d0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cb22e6004a96833a8c0f48ecb657252807ce0daf7a37716108009c91728ca858 [INFO] running `Command { std: "docker" "start" "-a" "cb22e6004a96833a8c0f48ecb657252807ce0daf7a37716108009c91728ca858", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling bytemuck_derive v1.10.1 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking reborrow v0.5.5 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Compiling pulp v0.21.5 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Checking raw-cpuid v11.6.0 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Checking raw-cpuid v10.7.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Compiling derive-new v0.7.0 [INFO] [stderr] Compiling cubecl-common v0.6.0 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking spin v0.10.0 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Checking dyn-stack v0.13.0 [INFO] [stderr] Checking dyn-stack v0.10.0 [INFO] [stderr] Checking embassy-futures v0.1.2 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Checking rand_distr v0.5.1 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling indexmap v2.11.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking thread-tree v0.3.3 [INFO] [stderr] Checking colored v3.0.0 [INFO] [stderr] Checking pulp v0.18.22 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking serde_bytes v0.11.17 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Compiling zip v1.1.4 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling macerator v0.2.9 [INFO] [stderr] Checking burn-common v0.18.0 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking gemm-common v0.17.1 [INFO] [stderr] Checking burn-tensor v0.18.0 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Checking safetensors v0.4.5 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking gemm-f32 v0.17.1 [INFO] [stderr] Checking gemm-c64 v0.17.1 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Checking gemm-c32 v0.17.1 [INFO] [stderr] Checking gemm-common v0.18.2 [INFO] [stderr] Checking gemm-f64 v0.17.1 [INFO] [stderr] Checking gemm-f16 v0.17.1 [INFO] [stderr] Checking gemm-f32 v0.18.2 [INFO] [stderr] Checking gemm-c64 v0.18.2 [INFO] [stderr] Checking gemm-c32 v0.18.2 [INFO] [stderr] Checking gemm-f64 v0.18.2 [INFO] [stderr] Checking memmap2 v0.9.8 [INFO] [stderr] Checking gemm-f16 v0.18.2 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking libloading v0.8.8 [INFO] [stderr] Checking simba v0.9.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling macerator-macros v0.1.3 [INFO] [stderr] Checking gemm v0.17.1 [INFO] [stderr] Checking rmp v0.8.14 [INFO] [stderr] Compiling nalgebra-macros v0.3.0 [INFO] [stderr] Checking moddef v0.3.0 [INFO] [stderr] Checking unty v0.0.4 [INFO] [stderr] Checking robust v1.2.0 [INFO] [stderr] Compiling burn-ndarray v0.18.0 [INFO] [stderr] Checking rmp-serde v1.3.0 [INFO] [stderr] Checking bincode v2.0.1 [INFO] [stderr] Checking burn-ir v0.18.0 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Checking gemm v0.18.2 [INFO] [stderr] Checking ug v0.1.0 [INFO] [stderr] Checking spade v2.15.0 [INFO] [stderr] Checking burn-autodiff v0.18.0 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking ordered-float v5.0.0 [INFO] [stderr] Compiling burn-derive v0.18.0 [INFO] [stderr] Checking ena v0.14.3 [INFO] [stderr] Compiling num_enum_derive v0.7.4 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking atomic_float v1.1.0 [INFO] [stderr] Checking downcast-rs v2.0.2 [INFO] [stderr] Checking data-encoding v2.9.0 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Checking burn-core v0.18.0 [INFO] [stderr] Checking num_enum v0.7.4 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking clap_builder v4.5.47 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Checking candle-core v0.8.4 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Checking clap v4.5.47 [INFO] [stderr] Checking burn-candle v0.18.0 [INFO] [stderr] Checking nalgebra v0.34.0 [INFO] [stderr] Checking burn v0.18.0 [INFO] [stderr] Checking parry2d v0.23.0 [INFO] [stderr] Checking rapier2d v0.28.0 [INFO] [stderr] Checking engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `UnitComplex` [INFO] [stdout] --> src/physics/modelbody.rs:494:75 [INFO] [stdout] | [INFO] [stdout] 494 | use rapier2d::na::{distance, point, vector, Complex, Isometry2, Unit, UnitComplex}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BodyStateSnapshot` [INFO] [stdout] --> src/physics/modelbody.rs:496:37 [INFO] [stdout] | [INFO] [stdout] 496 | use crate::physics::modelbody::{BodyStateSnapshot, BoundingBox, ForcePoints, ModelBody, SingleForcePoint, WorldSets}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VerticalJoin` [INFO] [stdout] --> src/physics/modelbody.rs:499:63 [INFO] [stdout] | [INFO] [stdout] 499 | use crate::physics::modelbody::JoinType::{HorizontalJoin, VerticalJoin}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GROUND_HALF_HEIGHT`, `WALL_HALF_HEIGHT`, and `WALL_HALF_WIDTH` [INFO] [stdout] --> src/physics/modelbody.rs:500:58 [INFO] [stdout] | [INFO] [stdout] 500 | use crate::physics::world::{Hangman, PhysicsContext, GROUND_HALF_HEIGHT, WALL_HALF_HEIGHT, WALL_HALF_WIDTH}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Module` [INFO] [stdout] --> src/base_ai.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use burn::module::{Module, Param}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_state` [INFO] [stdout] --> src/sim_for_ai.rs:145:34 [INFO] [stdout] | [INFO] [stdout] 145 | fn scorer(init_state: &Vec, prev_state: &Vec, world: &PhysicsWorld) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BodyStateSnapshot` is more private than the item `ModelBody::snapshot` [INFO] [stdout] --> src/physics/modelbody.rs:475:5 [INFO] [stdout] | [INFO] [stdout] 475 | pub fn snapshot(&self, rigid_body_set: &RigidBodySet) -> BodyStateSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModelBody::snapshot` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BodyStateSnapshot` is only usable at visibility `pub(in crate::physics)` [INFO] [stdout] --> src/physics/modelbody.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub(super) struct BodyStateSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BodyStateSnapshot` is never constructed [INFO] [stdout] --> src/physics/modelbody.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | pub(super) struct BodyStateSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `load` is never used [INFO] [stdout] --> src/physics/modelbody.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 26 | impl BodyStateSnapshot { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 27 | pub(super) fn load(self, body_set: &mut RigidBodySet) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `snapshot` is never used [INFO] [stdout] --> src/physics/modelbody.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 300 | impl ModelBody { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 475 | pub fn snapshot(&self, rigid_body_set: &RigidBodySet) -> BodyStateSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `wall` is never read [INFO] [stdout] --> src/physics/world.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) struct Hangman { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 21 | pub(super) ground: ModelBody, [INFO] [stdout] 22 | pub(super) wall: ModelBody, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ball` is never read [INFO] [stdout] --> src/physics/world.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct PhysicsWorld { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 109 | ball: ModelBody, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced [INFO] [stdout] --> src/lib.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | pub type AiMaker = Box Box>>; [INFO] [stdout] | ^^^^^^^ will not be checked at usage sites of the type alias [INFO] [stdout] | [INFO] [stdout] = note: this is a known limitation of the type checker that may be lifted in a future edition. [INFO] [stdout] see issue #112792 for more information [INFO] [stdout] = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics [INFO] [stdout] = note: `#[warn(type_alias_bounds)]` on by default [INFO] [stdout] help: remove this bound [INFO] [stdout] | [INFO] [stdout] 18 - pub type AiMaker = Box Box>>; [INFO] [stdout] 18 + pub type AiMaker = Box Box>>; [INFO] [stdout] | [INFO] [stdout] help: fully qualify this associated type [INFO] [stdout] | [INFO] [stdout] 18 | pub type AiMaker = Box::Device) -> Box>>; [INFO] [stdout] | + +++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `engine::base_ai::AI` [INFO] [stdout] --> src/bin/viz.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use engine::base_ai::AI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0161]: cannot move a value of type `dyn ListableAI` [INFO] [stdout] --> src/bin/viz.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | let actual_ai = sample_ai.load_a_file(mpk_name, &recorder); [INFO] [stdout] | ^^^^^^^^^ the size of `dyn ListableAI` cannot be statically determined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/sim_for_ai.rs:193:29 [INFO] [stdout] | [INFO] [stdout] 193 | let treat = test_ai(&BigAI::::new(&device), &device, 50); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Box>`, found `&BigAI` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI<_> + 'static)>` [INFO] [stdout] found reference `&BigAI` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/sim_for_ai.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn test_ai( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 109 | network: &Box>, [INFO] [stdout] | ------------------------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0161`. [INFO] [stdout] [INFO] [stderr] error: could not compile `engine` (bin "viz" test) due to 1 previous error; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `Module` [INFO] [stdout] --> src/base_ai.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use burn::module::{Module, Param}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `engine::base_ai::AI` [INFO] [stdout] --> src/bin/viz.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use engine::base_ai::AI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0161]: cannot move a value of type `dyn ListableAI` [INFO] [stdout] --> src/bin/viz.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | let actual_ai = sample_ai.load_a_file(mpk_name, &recorder); [INFO] [stdout] | ^^^^^^^^^ the size of `dyn ListableAI` cannot be statically determined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0161`. [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `into_par_iter` exists for struct `Vec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/bin/random_eval.rs:27:10 [INFO] [stdout] | [INFO] [stdout] 26 | let mut ai_w_scores = sample_ai [INFO] [stdout] | ___________________________- [INFO] [stdout] 27 | | .into_par_iter() [INFO] [stdout] | |_________-^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `[A]: Sized` [INFO] [stdout] which is required by `[A]: rayon::iter::IntoParallelIterator` [INFO] [stdout] `[A]: rayon::iter::ParallelIterator` [INFO] [stdout] which is required by `[A]: rayon::iter::IntoParallelIterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `engine` (bin "viz") due to 1 previous error; 1 warning emitted [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | fn ai_maker(d: &BE::Device) -> Box> { [INFO] [stdout] | ----------------------- expected `Box<(dyn ListableAI + 'static)>` because of return type [INFO] [stdout] 22 | // ai::BigAI::::new(d) [INFO] [stdout] 23 | small_ai::SmallAI::::new(d) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box>`, found `SmallAI` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn ListableAI + 'static)>` [INFO] [stdout] found struct `SmallAI` [INFO] [stdout] = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html [INFO] [stdout] help: store this in the heap by calling `Box::new` [INFO] [stdout] | [INFO] [stdout] 23 | Box::new(small_ai::SmallAI::::new(d)) [INFO] [stdout] | +++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `engine` (bin "random_eval" test) due to 1 previous error [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | fn ai_maker(d: &BE::Device) -> Box> { [INFO] [stdout] | ----------------------- expected `Box<(dyn ListableAI + 'static)>` because of return type [INFO] [stdout] 22 | // ai::BigAI::::new(d) [INFO] [stdout] 23 | small_ai::SmallAI::::new(d) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box>`, found `SmallAI` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn ListableAI + 'static)>` [INFO] [stdout] found struct `SmallAI` [INFO] [stdout] = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html [INFO] [stdout] help: store this in the heap by calling `Box::new` [INFO] [stdout] | [INFO] [stdout] 23 | Box::new(small_ai::SmallAI::::new(d)) [INFO] [stdout] | +++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box>: ListableAI<_>` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:55:26 [INFO] [stdout] | [INFO] [stdout] 55 | .map(|_| resume_island(&device, &|d| ai_maker::(d), BEST_PROPORTION, &recorder)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AI<_>` is not implemented for `Box>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `AI`: [INFO] [stdout] BigAI [INFO] [stdout] SmallAI [INFO] [stdout] = note: required for `Box>` to implement `ListableAI<_>` [INFO] [stdout] note: required by a bound in `resume_island` [INFO] [stdout] --> src/bin/eval.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn resume_island>( [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `resume_island` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:57:38 [INFO] [stdout] | [INFO] [stdout] 57 | let best_score = test_ai(&islands[0][0], &device, args.steps); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ expected trait `AI`, found trait `ListableAI` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI<_> + 'static)>` [INFO] [stdout] found reference `&Box>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/sim_for_ai.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn test_ai( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box>: ListableAI<_>` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:66:30 [INFO] [stdout] | [INFO] [stdout] 66 | .map(|_| init_island_population(&device, &|d| ai_maker::(d))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AI<_>` is not implemented for `Box>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `AI`: [INFO] [stdout] BigAI [INFO] [stdout] SmallAI [INFO] [stdout] = note: required for `Box>` to implement `ListableAI<_>` [INFO] [stdout] note: required by a bound in `init_island_population` [INFO] [stdout] --> src/bin/eval.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | fn init_island_population>( [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `init_island_population` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_state` [INFO] [stdout] --> src/sim_for_ai.rs:145:34 [INFO] [stdout] | [INFO] [stdout] 145 | fn scorer(init_state: &Vec, prev_state: &Vec, world: &PhysicsWorld) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `clone` exists for mutable reference `&mut Vec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/bin/eval.rs:87:36 [INFO] [stdout] | [INFO] [stdout] 87 | let inner_ais = island.clone(); [INFO] [stdout] | ^^^^^ method cannot be called on `&mut Vec` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `A: Clone` [INFO] [stdout] which is required by `Vec: Clone` [INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound [INFO] [stdout] | [INFO] [stdout] 81 | ) where A: Clone { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box>: ListableAI<_>` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:55:26 [INFO] [stdout] | [INFO] [stdout] 55 | .map(|_| resume_island(&device, &|d| ai_maker::(d), BEST_PROPORTION, &recorder)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AI<_>` is not implemented for `Box>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `AI`: [INFO] [stdout] BigAI [INFO] [stdout] SmallAI [INFO] [stdout] = note: required for `Box>` to implement `ListableAI<_>` [INFO] [stdout] note: required by a bound in `resume_island` [INFO] [stdout] --> src/bin/eval.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn resume_island>( [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `resume_island` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:57:38 [INFO] [stdout] | [INFO] [stdout] 57 | let best_score = test_ai(&islands[0][0], &device, args.steps); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ expected trait `AI`, found trait `ListableAI` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI<_> + 'static)>` [INFO] [stdout] found reference `&Box>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/sim_for_ai.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn test_ai( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: expected `ai_maker` to return `A`, but it returns `Box>` [INFO] [stdout] --> src/bin/eval.rs:115:90 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn ga>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 115 | *island = make_new_generation::(ai_w_scores, &device, BEST_PROPORTION, &ai_maker); [INFO] [stdout] | --------------------------- ^^^^^^^^^ expected type parameter `A`, found `Box>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found struct `Box<(dyn ListableAI<_> + 'static)>` [INFO] [stdout] note: required by a bound in `make_new_generation` [INFO] [stdout] --> src/bin/eval.rs:156:39 [INFO] [stdout] | [INFO] [stdout] 152 | fn make_new_generation>( [INFO] [stdout] | ------------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 156 | ai_maker: &impl Fn(&B::Device) -> A, [INFO] [stdout] | ^ required by this bound in `make_new_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box>: ListableAI<_>` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:66:30 [INFO] [stdout] | [INFO] [stdout] 66 | .map(|_| init_island_population(&device, &|d| ai_maker::(d))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AI<_>` is not implemented for `Box>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `AI`: [INFO] [stdout] BigAI [INFO] [stdout] SmallAI [INFO] [stdout] = note: required for `Box>` to implement `ListableAI<_>` [INFO] [stdout] note: required by a bound in `init_island_population` [INFO] [stdout] --> src/bin/eval.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | fn init_island_population>( [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `init_island_population` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A: Clone` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:133:47 [INFO] [stdout] | [INFO] [stdout] 133 | .map(|island| island[fittest_start..].to_vec()) [INFO] [stdout] | ^^^^^^ the trait `Clone` is not implemented for `A` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `std::slice::::to_vec` [INFO] [stdout] --> /rustc/9f32ccf35fb877270bc44a86a126440f04d676d0/library/alloc/src/slice.rs:370:5 [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 128 | pub fn island_crossing + std::clone::Clone>(islands: &mut Vec>) { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&A: AI<_>` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | let offspring = make_offspring(&best_ones[mother], &best_ones[father], &distribution); [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `AI<_>` is not implemented for `&A` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `make_offspring` [INFO] [stdout] --> src/bin/eval.rs:233:38 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | ^^^^^ required by this bound in `make_offspring` [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 186 | let offspring = &make_offspring(&best_ones[mother], &best_ones[father], &distribution); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `clone` exists for mutable reference `&mut Vec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/bin/eval.rs:87:36 [INFO] [stdout] | [INFO] [stdout] 87 | let inner_ais = island.clone(); [INFO] [stdout] | ^^^^^ method cannot be called on `&mut Vec` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `A: Clone` [INFO] [stdout] which is required by `Vec: Clone` [INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound [INFO] [stdout] | [INFO] [stdout] 81 | ) where A: Clone { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `engine` (lib test) due to 1 previous error; 6 warnings emitted [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:187:29 [INFO] [stdout] | [INFO] [stdout] 152 | fn make_new_generation>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 182 | new_generation.extend((0..ALWAYS_RAND_COUNT).map(|_| ai_maker(device))); [INFO] [stdout] | -------------- ------------------------------------------------ this argument has type `std::iter::Map, {closure@src/bin/eval.rs:182:54: 182:57}>`... [INFO] [stdout] | | [INFO] [stdout] | ... which causes `new_generation` to have type `Vec` [INFO] [stdout] ... [INFO] [stdout] 187 | new_generation.push(offspring); [INFO] [stdout] | ---- ^^^^^^^^^ expected type parameter `A`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `_` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/9f32ccf35fb877270bc44a86a126440f04d676d0/library/alloc/src/vec/mod.rs:2544:12 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: expected `ai_maker` to return `A`, but it returns `Box>` [INFO] [stdout] --> src/bin/eval.rs:115:90 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn ga>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 115 | *island = make_new_generation::(ai_w_scores, &device, BEST_PROPORTION, &ai_maker); [INFO] [stdout] | --------------------------- ^^^^^^^^^ expected type parameter `A`, found `Box>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found struct `Box<(dyn ListableAI<_> + 'static)>` [INFO] [stdout] note: required by a bound in `make_new_generation` [INFO] [stdout] --> src/bin/eval.rs:156:39 [INFO] [stdout] | [INFO] [stdout] 152 | fn make_new_generation>( [INFO] [stdout] | ------------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 156 | ai_maker: &impl Fn(&B::Device) -> A, [INFO] [stdout] | ^ required by this bound in `make_new_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving ` as IntoIterator>::Item == A` [INFO] [stdout] --> src/bin/eval.rs:190:27 [INFO] [stdout] | [INFO] [stdout] 152 | fn make_new_generation>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 190 | new_generation.extend(best_ones); [INFO] [stdout] | ------ ^^^^^^^^^ expected type parameter `A`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `_` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> src/bin/eval.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | ais_w_score: Vec<(f32, A)>, [INFO] [stdout] | ^^^^^^^^^^^^^ `IntoIterator::Item` is `(f32, A)` here [INFO] [stdout] ... [INFO] [stdout] 177 | .iter() [INFO] [stdout] | ------ `IntoIterator::Item` changed to `&(f32, A)` here [INFO] [stdout] 178 | .take(number_of_fittest) [INFO] [stdout] | ----------------------- `IntoIterator::Item` remains `&(f32, A)` here [INFO] [stdout] 179 | .map(|(_, ai)| ai.clone()) [INFO] [stdout] | ------------------------- `IntoIterator::Item` changed to `&A` here [INFO] [stdout] 180 | .collect(); [INFO] [stdout] | --------- `IntoIterator::Item` remains `&A` here [INFO] [stdout] note: required by a bound in `extend` [INFO] [stdout] --> /rustc/9f32ccf35fb877270bc44a86a126440f04d676d0/library/core/src/iter/traits/collect.rs:413:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A: Clone` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:133:47 [INFO] [stdout] | [INFO] [stdout] 133 | .map(|island| island[fittest_start..].to_vec()) [INFO] [stdout] | ^^^^^^ the trait `Clone` is not implemented for `A` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `std::slice::::to_vec` [INFO] [stdout] --> /rustc/9f32ccf35fb877270bc44a86a126440f04d676d0/library/alloc/src/slice.rs:370:5 [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 128 | pub fn island_crossing + std::clone::Clone>(islands: &mut Vec>) { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&A: AI<_>` is not satisfied [INFO] [stdout] --> src/bin/eval.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | let offspring = make_offspring(&best_ones[mother], &best_ones[father], &distribution); [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `AI<_>` is not implemented for `&A` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `make_offspring` [INFO] [stdout] --> src/bin/eval.rs:233:38 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | ^^^^^ required by this bound in `make_offspring` [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 186 | let offspring = &make_offspring(&best_ones[mother], &best_ones[father], &distribution); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:187:29 [INFO] [stdout] | [INFO] [stdout] 152 | fn make_new_generation>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 182 | new_generation.extend((0..ALWAYS_RAND_COUNT).map(|_| ai_maker(device))); [INFO] [stdout] | -------------- ------------------------------------------------ this argument has type `std::iter::Map, {closure@src/bin/eval.rs:182:54: 182:57}>`... [INFO] [stdout] | | [INFO] [stdout] | ... which causes `new_generation` to have type `Vec` [INFO] [stdout] ... [INFO] [stdout] 187 | new_generation.push(offspring); [INFO] [stdout] | ---- ^^^^^^^^^ expected type parameter `A`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `_` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/9f32ccf35fb877270bc44a86a126440f04d676d0/library/alloc/src/vec/mod.rs:2544:12 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving ` as IntoIterator>::Item == A` [INFO] [stdout] --> src/bin/eval.rs:190:27 [INFO] [stdout] | [INFO] [stdout] 152 | fn make_new_generation>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 190 | new_generation.extend(best_ones); [INFO] [stdout] | ------ ^^^^^^^^^ expected type parameter `A`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `_` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> src/bin/eval.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | ais_w_score: Vec<(f32, A)>, [INFO] [stdout] | ^^^^^^^^^^^^^ `IntoIterator::Item` is `(f32, A)` here [INFO] [stdout] ... [INFO] [stdout] 177 | .iter() [INFO] [stdout] | ------ `IntoIterator::Item` changed to `&(f32, A)` here [INFO] [stdout] 178 | .take(number_of_fittest) [INFO] [stdout] | ----------------------- `IntoIterator::Item` remains `&(f32, A)` here [INFO] [stdout] 179 | .map(|(_, ai)| ai.clone()) [INFO] [stdout] | ------------------------- `IntoIterator::Item` changed to `&A` here [INFO] [stdout] 180 | .collect(); [INFO] [stdout] | --------- `IntoIterator::Item` remains `&A` here [INFO] [stdout] note: required by a bound in `extend` [INFO] [stdout] --> /rustc/9f32ccf35fb877270bc44a86a126440f04d676d0/library/core/src/iter/traits/collect.rs:413:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `clone` found for type parameter `A` in the current scope [INFO] [stdout] --> src/bin/eval.rs:203:38 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn resume_island>( [INFO] [stdout] | - method `clone` not found for this type parameter [INFO] [stdout] ... [INFO] [stdout] 203 | let sample_specimen = initial[0].clone(); [INFO] [stdout] | ^^^^^ method not found in `A` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the type parameter is bounded by the trait [INFO] [stdout] help: the following trait defines an item `clone`, perhaps you need to restrict type parameter `A` with it: [INFO] [stdout] | [INFO] [stdout] 195 | pub fn resume_island + Clone>( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `clone` found for type parameter `A` in the current scope [INFO] [stdout] --> src/bin/eval.rs:203:38 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn resume_island>( [INFO] [stdout] | - method `clone` not found for this type parameter [INFO] [stdout] ... [INFO] [stdout] 203 | let sample_specimen = initial[0].clone(); [INFO] [stdout] | ^^^^^ method not found in `A` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the type parameter is bounded by the trait [INFO] [stdout] help: the following trait defines an item `clone`, perhaps you need to restrict type parameter `A` with it: [INFO] [stdout] | [INFO] [stdout] 195 | pub fn resume_island + Clone>( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:239:50 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 239 | 0 | 1 | 2 | 3 | 4 => mother.offspring_iw(father, distribution), [INFO] [stdout] | ------------ ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn offspring_iw(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:239:30 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 237 | ) -> A { [INFO] [stdout] | - [INFO] [stdout] | | [INFO] [stdout] | expected `A` because of return type [INFO] [stdout] | help: consider using an impl return type: `impl AI` [INFO] [stdout] 238 | match rand::random_range(0..15) { [INFO] [stdout] 239 | 0 | 1 | 2 | 3 | 4 => mother.offspring_iw(father, distribution), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A`, found `Box>` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found struct `Box<(dyn AI + 'static)>` [INFO] [stdout] = note: the caller chooses a type for `A` which can be different from `Box<(dyn AI + 'static)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:239:50 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 239 | 0 | 1 | 2 | 3 | 4 => mother.offspring_iw(father, distribution), [INFO] [stdout] | ------------ ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn offspring_iw(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:239:30 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 237 | ) -> A { [INFO] [stdout] | - [INFO] [stdout] | | [INFO] [stdout] | expected `A` because of return type [INFO] [stdout] | help: consider using an impl return type: `impl AI` [INFO] [stdout] 238 | match rand::random_range(0..15) { [INFO] [stdout] 239 | 0 | 1 | 2 | 3 | 4 => mother.offspring_iw(father, distribution), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A`, found `Box>` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found struct `Box<(dyn AI + 'static)>` [INFO] [stdout] = note: the caller chooses a type for `A` which can be different from `Box<(dyn AI + 'static)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:240:46 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 240 | 5 | 6 | 7 | 8 => mother.offspring_aw(father, distribution), [INFO] [stdout] | ------------ ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn offspring_aw(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:240:46 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 240 | 5 | 6 | 7 | 8 => mother.offspring_aw(father, distribution), [INFO] [stdout] | ------------ ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn offspring_aw(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:241:31 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 241 | 9 => mother.offspring(father, distribution), [INFO] [stdout] | --------- ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn offspring(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:241:31 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 241 | 9 => mother.offspring(father, distribution), [INFO] [stdout] | --------- ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn offspring(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:242:39 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 242 | 10 => mother.offspring_layers(father, distribution), [INFO] [stdout] | ---------------- ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | fn offspring_layers(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/eval.rs:242:39 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn make_offspring>( [INFO] [stdout] | - found this type parameter [INFO] [stdout] ... [INFO] [stdout] 242 | 10 => mother.offspring_layers(father, distribution), [INFO] [stdout] | ---------------- ^^^^^^ expected `&Box>`, found `&A` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Box<(dyn AI + 'static)>` [INFO] [stdout] found reference `&A` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/base_ai.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | fn offspring_layers(&self, other_parent: &Box>, d: &Distribution) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0271`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0271`. [INFO] [stdout] [INFO] [stderr] error: could not compile `engine` (bin "eval") due to 16 previous errors [INFO] [stderr] error: could not compile `engine` (bin "eval" test) due to 16 previous errors [INFO] running `Command { std: "docker" "inspect" "cb22e6004a96833a8c0f48ecb657252807ce0daf7a37716108009c91728ca858", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb22e6004a96833a8c0f48ecb657252807ce0daf7a37716108009c91728ca858", kill_on_drop: false }` [INFO] [stdout] cb22e6004a96833a8c0f48ecb657252807ce0daf7a37716108009c91728ca858