[INFO] cloning repository https://github.com/seanlth/Fluid-Solver [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seanlth/Fluid-Solver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseanlth%2FFluid-Solver", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseanlth%2FFluid-Solver'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5d6e9e03e3b10c7fda57ffe0f73837803793009e [INFO] testing seanlth/Fluid-Solver against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseanlth%2FFluid-Solver" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/seanlth/Fluid-Solver on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/seanlth/Fluid-Solver [INFO] finished tweaking git repo https://github.com/seanlth/Fluid-Solver [INFO] tweaked toml for git repo https://github.com/seanlth/Fluid-Solver written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/seanlth/Fluid-Solver already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lodepng v2.4.2 [INFO] [stderr] Downloaded core-graphics v0.14.0 [INFO] [stderr] Downloaded shared_library v0.1.2 [INFO] [stderr] Downloaded winit v0.16.2 [INFO] [stderr] Downloaded cocoa v0.15.0 [INFO] [stderr] Downloaded rgb v0.8.11 [INFO] [stderr] Downloaded smithay-client-toolkit v0.2.6 [INFO] [stderr] Downloaded glutin v0.17.0 [INFO] [stderr] Downloaded glium v0.22.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8689af45629ddc6e865a8426fc6ea32e035270b3d996159ae630cc9a9ec8a3e1 [INFO] running `Command { std: "docker" "start" "-a" "8689af45629ddc6e865a8426fc6ea32e035270b3d996159ae630cc9a9ec8a3e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8689af45629ddc6e865a8426fc6ea32e035270b3d996159ae630cc9a9ec8a3e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8689af45629ddc6e865a8426fc6ea32e035270b3d996159ae630cc9a9ec8a3e1", kill_on_drop: false }` [INFO] [stdout] 8689af45629ddc6e865a8426fc6ea32e035270b3d996159ae630cc9a9ec8a3e1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b5dd3a333081dee58cdd2f12f756f539ec2398905dd19eaf267b88c42aefc91 [INFO] running `Command { std: "docker" "start" "-a" "9b5dd3a333081dee58cdd2f12f756f539ec2398905dd19eaf267b88c42aefc91", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.45 [INFO] [stderr] Compiling cc v1.0.27 [INFO] [stderr] Compiling rand_core v0.3.0 [INFO] [stderr] Compiling cfg-if v0.1.6 [INFO] [stderr] Compiling lazy_static v1.2.0 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling downcast-rs v1.0.3 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Compiling nix v0.11.0 [INFO] [stderr] Compiling stable_deref_trait v1.1.1 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling remove_dir_all v0.5.1 [INFO] [stderr] Compiling lazy_static v0.1.15 [INFO] [stderr] Compiling autocfg v0.1.1 [INFO] [stderr] Compiling byteorder v1.2.7 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling rustc-demangle v0.1.11 [INFO] [stderr] Compiling fnv v1.0.6 [INFO] [stderr] Compiling rgb v0.8.11 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling rand_chacha v0.1.0 [INFO] [stderr] Compiling rand v0.6.1 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Compiling owning_ref v0.4.0 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.0 [INFO] [stderr] Compiling rand_core v0.2.2 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling backtrace v0.3.13 [INFO] [stderr] Compiling x11-dl v2.18.3 [INFO] [stderr] Compiling wayland-scanner v0.20.12 [INFO] [stderr] Compiling lock_api v0.1.5 [INFO] [stderr] Compiling smallvec v0.6.7 [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Compiling backtrace-sys v0.1.26 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Compiling memmap v0.6.2 [INFO] [stderr] Compiling shared_library v0.1.2 [INFO] [stderr] Compiling lodepng v2.4.2 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling wayland-client v0.20.12 [INFO] [stderr] Compiling wayland-protocols v0.20.12 [INFO] [stderr] Compiling tempfile v3.0.5 [INFO] [stderr] Compiling glutin v0.17.0 [INFO] [stderr] Compiling glium v0.22.0 [INFO] [stderr] Compiling dlib v0.4.1 [INFO] [stderr] Compiling wayland-sys v0.20.12 [INFO] [stderr] Compiling parking_lot v0.6.4 [INFO] [stderr] Compiling wayland-commons v0.20.12 [INFO] [stderr] Compiling smithay-client-toolkit v0.2.6 [INFO] [stderr] Compiling winit v0.16.2 [INFO] [stderr] Compiling fluids v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | implement_vertex!(Vertex, position, colour); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:229:6 [INFO] [stdout] | [INFO] [stdout] 229 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [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 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &dyn Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:88 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:102 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:29:41 [INFO] [stdout] | [INFO] [stdout] 29 | integration: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 - integration: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] 29 + integration: fn(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:77 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &dyn Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:107 [INFO] [stdout] | [INFO] [stdout] 64 | ...d, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 58.86s [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:121 [INFO] [stdout] | [INFO] [stdout] 64 | ..., f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:74:60 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn integration(mut self, f: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - pub fn integration(mut self, f: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] 74 + pub fn integration(mut self, f: fn(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn empty(_: f64, _: f64, _: &Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2 - pub fn empty(_: f64, _: f64, _: &Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] 2 + pub fn empty(_: f64, _: f64, _: &dyn Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn euler(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - pub fn euler(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 7 + pub fn euler(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:12:45 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn bogacki_shampine(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - pub fn bogacki_shampine(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 12 + pub fn bogacki_shampine(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn runge_kutta_4(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn runge_kutta_4(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 22 + pub fn runge_kutta_4(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | _: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - _: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 11 + _: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 12 + _: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 12 + _: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 22 + interpolator: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 23 + _: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 23 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 23 + _: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:59:39 [INFO] [stdout] | [INFO] [stdout] 59 | interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 59 + interpolator: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:60:37 [INFO] [stdout] | [INFO] [stdout] 60 | integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 60 + integrator: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:60:51 [INFO] [stdout] | [INFO] [stdout] 60 | integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 60 + integrator: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9b5dd3a333081dee58cdd2f12f756f539ec2398905dd19eaf267b88c42aefc91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b5dd3a333081dee58cdd2f12f756f539ec2398905dd19eaf267b88c42aefc91", kill_on_drop: false }` [INFO] [stdout] 9b5dd3a333081dee58cdd2f12f756f539ec2398905dd19eaf267b88c42aefc91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5a9f41982704d72dadd395b49e9ab3e6029a79f53af30e5d42421c2269084bb7 [INFO] running `Command { std: "docker" "start" "-a" "5a9f41982704d72dadd395b49e9ab3e6029a79f53af30e5d42421c2269084bb7", kill_on_drop: false }` [INFO] [stderr] Compiling rand_core v0.3.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling lazy_static v1.2.0 [INFO] [stderr] Compiling cfg-if v0.1.6 [INFO] [stderr] Compiling downcast-rs v1.0.3 [INFO] [stderr] Compiling bitflags v1.0.4 [INFO] [stderr] Compiling stable_deref_trait v1.1.1 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling remove_dir_all v0.5.1 [INFO] [stderr] Compiling lazy_static v0.1.15 [INFO] [stderr] Compiling byteorder v1.2.7 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling rustc-demangle v0.1.11 [INFO] [stderr] Compiling rgb v0.8.11 [INFO] [stderr] Compiling fnv v1.0.6 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling libc v0.2.45 [INFO] [stderr] Compiling nix v0.11.0 [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Compiling x11-dl v2.18.3 [INFO] [stderr] Compiling backtrace-sys v0.1.26 [INFO] [stderr] Compiling backtrace v0.3.13 [INFO] [stderr] Compiling rand_chacha v0.1.0 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling rand v0.6.1 [INFO] [stderr] Compiling wayland-client v0.20.12 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Compiling wayland-protocols v0.20.12 [INFO] [stderr] Compiling glutin v0.17.0 [INFO] [stderr] Compiling glium v0.22.0 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling owning_ref v0.4.0 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling rand_core v0.2.2 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.0 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling dlib v0.4.1 [INFO] [stderr] Compiling lock_api v0.1.5 [INFO] [stderr] Compiling smallvec v0.6.7 [INFO] [stderr] Compiling wayland-sys v0.20.12 [INFO] [stderr] Compiling wayland-commons v0.20.12 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Compiling memmap v0.6.2 [INFO] [stderr] Compiling shared_library v0.1.2 [INFO] [stderr] Compiling lodepng v2.4.2 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling tempfile v3.0.5 [INFO] [stderr] Compiling parking_lot v0.6.4 [INFO] [stderr] Compiling smithay-client-toolkit v0.2.6 [INFO] [stderr] Compiling winit v0.16.2 [INFO] [stderr] Compiling fluids v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | implement_vertex!(Vertex, position, colour); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:229:6 [INFO] [stdout] | [INFO] [stdout] 229 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [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 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &dyn Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:88 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:102 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:29:41 [INFO] [stdout] | [INFO] [stdout] 29 | integration: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 - integration: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] 29 + integration: fn(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:77 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &dyn Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:107 [INFO] [stdout] | [INFO] [stdout] 64 | ...d, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:121 [INFO] [stdout] | [INFO] [stdout] 64 | ..., f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:74:60 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn integration(mut self, f: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - pub fn integration(mut self, f: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] 74 + pub fn integration(mut self, f: fn(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn empty(_: f64, _: f64, _: &Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2 - pub fn empty(_: f64, _: f64, _: &Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] 2 + pub fn empty(_: f64, _: f64, _: &dyn Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn euler(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - pub fn euler(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 7 + pub fn euler(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:12:45 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn bogacki_shampine(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - pub fn bogacki_shampine(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 12 + pub fn bogacki_shampine(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn runge_kutta_4(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn runge_kutta_4(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 22 + pub fn runge_kutta_4(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | _: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - _: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 11 + _: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 12 + _: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 12 + _: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 22 + interpolator: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 23 + _: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 23 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 23 + _: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:59:39 [INFO] [stdout] | [INFO] [stdout] 59 | interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 59 + interpolator: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:60:37 [INFO] [stdout] | [INFO] [stdout] 60 | integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 60 + integrator: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:60:51 [INFO] [stdout] | [INFO] [stdout] 60 | integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 60 + integrator: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario4.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario7.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario2.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario7.rs:13:34 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 64, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario7.rs:15:47 [INFO] [stdout] | [INFO] [stdout] 15 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario7.rs:16:51 [INFO] [stdout] | [INFO] [stdout] 16 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario7.rs:17:49 [INFO] [stdout] | [INFO] [stdout] 17 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario7.rs:18:51 [INFO] [stdout] | [INFO] [stdout] 18 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario3.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario7.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario7.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 64, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario3.rs:13:34 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario3.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario3.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario3.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario3.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario3.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario3.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario2.rs:13:34 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario2.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario2.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario2.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario4.rs:13:34 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 128, 64, 0.01, 1.0, 9.8) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario4.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario2.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario4.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario4.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario4.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario4.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario4.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 128, 64, 0.01, 1.0, 9.8) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario2.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario2.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario5.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario1.rs:14:34 [INFO] [stdout] | [INFO] [stdout] 14 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario1.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario1.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .interpolation(interpolation::bicubic_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario1.rs:18:49 [INFO] [stdout] | [INFO] [stdout] 18 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario1.rs:19:51 [INFO] [stdout] | [INFO] [stdout] 19 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | implement_vertex!(Vertex, position, colour); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario1.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario1.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:229:6 [INFO] [stdout] | [INFO] [stdout] 229 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/visualiser.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | implement_vertex!(Vertex2, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario5.rs:14:34 [INFO] [stdout] | [INFO] [stdout] 14 | let mut solver:FluidSolver = FluidSolver::new(1.0, 128, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario5.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario5.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario5.rs:18:49 [INFO] [stdout] | [INFO] [stdout] 18 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [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 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &dyn Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario5.rs:19:51 [INFO] [stdout] | [INFO] [stdout] 19 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:88 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario5.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:27:102 [INFO] [stdout] | [INFO] [stdout] 27 | advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] 27 + advection: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:29:41 [INFO] [stdout] | [INFO] [stdout] 29 | integration: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 - integration: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] 29 + integration: fn(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario5.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | let mut solver:FluidSolver = FluidSolver::new(1.0, 128, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:77 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &dyn Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:107 [INFO] [stdout] | [INFO] [stdout] 64 | ...d, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:64:121 [INFO] [stdout] | [INFO] [stdout] 64 | ..., f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 - pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] 64 + pub fn advection(mut self, f: fn(&mut Field, &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fluid_solver.rs:74:60 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn integration(mut self, f: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - pub fn integration(mut self, f: fn(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] 74 + pub fn integration(mut self, f: fn(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn empty(_: f64, _: f64, _: &Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2 - pub fn empty(_: f64, _: f64, _: &Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] 2 + pub fn empty(_: f64, _: f64, _: &dyn Fn(f64, f64) -> f64, _: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn euler(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - pub fn euler(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 7 + pub fn euler(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:12:45 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn bogacki_shampine(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - pub fn bogacki_shampine(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 12 + pub fn bogacki_shampine(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/integrators.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn runge_kutta_4(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn runge_kutta_4(x: f64, t: f64, f: &Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] 22 + pub fn runge_kutta_4(x: f64, t: f64, f: &dyn Fn(f64, f64) -> f64, dt: f64) -> f64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | _: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - _: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 11 + _: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 12 + _: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 12 + _: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 22 + interpolator: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 23 + _: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 23 | _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - _: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 23 + _: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:59:39 [INFO] [stdout] | [INFO] [stdout] 59 | interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - interpolator: &Fn(f64, f64, &Field) -> f64, [INFO] [stdout] 59 + interpolator: &dyn Fn(f64, f64, &Field) -> f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:60:37 [INFO] [stdout] | [INFO] [stdout] 60 | integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 60 + integrator: &dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/advection.rs:60:51 [INFO] [stdout] | [INFO] [stdout] 60 | integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 60 - integrator: &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] 60 + integrator: &Fn(f64, f64, &dyn Fn(f64, f64) -> f64, f64) -> f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario8.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fluids` due to 9 previous errors [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `Fluids` [INFO] [stdout] --> examples/scenario6.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate Fluids; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario8.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | let mut solver:FluidSolver = FluidSolver::new(1.0, 512, 512, 0.01, 1.0, 9.8) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario8.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario8.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario8.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario8.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario8.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario8.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | let mut solver:FluidSolver = FluidSolver::new(1.0, 512, 512, 0.01, 1.0, 9.8) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FluidSolver` [INFO] [stdout] --> examples/scenario6.rs:13:34 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `FluidSolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `advection` [INFO] [stdout] --> examples/scenario6.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | ... .advection(advection::semi_lagrangian) [INFO] [stdout] | ^^^^^^^^^ use of undeclared crate or module `advection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `interpolation` [INFO] [stdout] --> examples/scenario6.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | ... .interpolation(interpolation::bilinear_interpolate) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared crate or module `interpolation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `integrators` [INFO] [stdout] --> examples/scenario6.rs:16:49 [INFO] [stdout] | [INFO] [stdout] 16 | ... .integration(integrators::euler) [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared crate or module `integrators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `linear_solvers` [INFO] [stdout] --> examples/scenario6.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | ... .linear_solver(linear_solvers::relaxation_fast_c); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared crate or module `linear_solvers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Visualiser` [INFO] [stdout] --> examples/scenario6.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let visualiser = Visualiser::new(solver.rows, solver.columns); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Visualiser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `FluidSolver` in this scope [INFO] [stdout] --> examples/scenario6.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | let mut solver:FluidSolver = FluidSolver::new(1.0, 64, 128, 0.01, 1.0, 0.0) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/fluids-179eb27c228b57b3.fluids.f48c62b2-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-179eb27c228b57b3.fluids.f48c62b2-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-179eb27c228b57b3.fluids.f48c62b2-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-179eb27c228b57b3.3xzniqjij7he7v18.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/build/backtrace-sys-a8f98d5decd6f7c9/out" "-L" "/opt/rustwide/target/debug/build/libloading-6a88c4a40a25e6a2/out" "-L" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lsolver" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-b6a068090bf40c71.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-1c1e08c768cd8903.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-3f4474e7a3a1f53f.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-ec55ab174918e77a.rlib" "/opt/rustwide/target/debug/deps/liblodepng-f93441ed37c1bf95.rlib" "/opt/rustwide/target/debug/deps/librgb-22805b110575522f.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-27f6d9517ae2fda3.rlib" "/opt/rustwide/target/debug/deps/libglium-f2d241875d9a685e.rlib" "/opt/rustwide/target/debug/deps/libglutin-91122e7074544314.rlib" "/opt/rustwide/target/debug/deps/libosmesa_sys-8b9f68808e3b0b00.rlib" "/opt/rustwide/target/debug/deps/libwinit-d5ee5d8071ae4c07.rlib" "/opt/rustwide/target/debug/deps/libsmithay_client_toolkit-7f4980ceb6a70560.rlib" "/opt/rustwide/target/debug/deps/libwayland_protocols-b1e16e1de051caff.rlib" "/opt/rustwide/target/debug/deps/libwayland_client-ec1b2df7fdc310c4.rlib" "/opt/rustwide/target/debug/deps/libwayland_commons-1f9a95a7aee31d54.rlib" "/opt/rustwide/target/debug/deps/libwayland_sys-8e66d7e78437fd91.rlib" "/opt/rustwide/target/debug/deps/libdowncast_rs-ac8f0d952df8b9e5.rlib" "/opt/rustwide/target/debug/deps/libtempfile-d42c0042a4732b4a.rlib" "/opt/rustwide/target/debug/deps/libremove_dir_all-2df9b948643d72a9.rlib" "/opt/rustwide/target/debug/deps/librand-195db11dbf64cd03.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-4150e32c4b6cf8f4.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-28b9768e55e7f847.rlib" "/opt/rustwide/target/debug/deps/librand_hc-f389444df549e365.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-947d0770d7bfa841.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-387c67919d1eb96f.rlib" "/opt/rustwide/target/debug/deps/libnix-9f71b404840cfecc.rlib" "/opt/rustwide/target/debug/deps/libmemmap-c192f438747ef23b.rlib" "/opt/rustwide/target/debug/deps/libdlib-07e679b17acf9fb0.rlib" "/opt/rustwide/target/debug/deps/liblibloading-f4a0565db991cee6.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-e93a2e036212742f.rlib" "/opt/rustwide/target/debug/deps/libbitflags-a0f70294c76e37d5.rlib" "/opt/rustwide/target/debug/deps/libpercent_encoding-6edbe9e18481353c.rlib" "/opt/rustwide/target/debug/deps/libparking_lot-acd02fa53a6fd382.rlib" "/opt/rustwide/target/debug/deps/libparking_lot_core-ae43ad4a611fd272.rlib" "/opt/rustwide/target/debug/deps/librand-694ad9d28cd69112.rlib" "/opt/rustwide/target/debug/deps/librand_core-e1979944968d8e8f.rlib" "/opt/rustwide/target/debug/deps/librand_core-301d2fda56347740.rlib" "/opt/rustwide/target/debug/deps/liblock_api-799ba04f23828a97.rlib" "/opt/rustwide/target/debug/deps/libowning_ref-f60ddfda038f4e7a.rlib" "/opt/rustwide/target/debug/deps/libstable_deref_trait-deba6aed52936ec5.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-2bb685a0664d0b02.rlib" "/opt/rustwide/target/debug/deps/libx11_dl-726a11b0cca9a53d.rlib" "/opt/rustwide/target/debug/deps/liblog-909e93d53e7cc00b.rlib" "/opt/rustwide/target/debug/deps/libshared_library-61f373218d224fad.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-6feb92b3940e8c11.rlib" "/opt/rustwide/target/debug/deps/libfnv-be7f7637bba70152.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-3e17af33060c63dc.rlib" "/opt/rustwide/target/debug/deps/libunreachable-48280436d64f1112.rlib" "/opt/rustwide/target/debug/deps/libvoid-ff939bbd68c6e53e.rlib" "/opt/rustwide/target/debug/deps/libbacktrace-9f13284ce61d6559.rlib" "/opt/rustwide/target/debug/deps/libbacktrace_sys-a4526b9b0bf1010a.rlib" "/opt/rustwide/target/debug/deps/librustc_demangle-f6e18f7b54b04957.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-a0fc0aaec4d84913.rlib" "/opt/rustwide/target/debug/deps/liblibc-69f7df912cda8178.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-ee2849e5008e8107.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-8d61b92a0a02f53a.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-fc45202bb435016b.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-f2400674c7513725.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-605c3a7d1a5d300d.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-3d4fb4efa907e4e8.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-65207f030ab23308.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-76ca199cb0186109.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1e3e01ed4f561dc1.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dd8dddcba7c13fee.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-00b13d31c3420656.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e4c8460b81557bd5.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-600d46e5f0005455.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e4a08a2585b62d37.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-fbc21ec567cb9dc7.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-10b3fa8e49bd978f.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-64625b73694ffce7.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-fb6b78ac543a58ee.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-1d1f2d1bec6f51b8.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-acf5ff6e9595d982.rlib" "-Wl,-Bdynamic" "-ldl" "-ldl" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/fluids-179eb27c228b57b3" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs" [INFO] [stdout] = note: /usr/bin/ld: cannot find -lsolver [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "5a9f41982704d72dadd395b49e9ab3e6029a79f53af30e5d42421c2269084bb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a9f41982704d72dadd395b49e9ab3e6029a79f53af30e5d42421c2269084bb7", kill_on_drop: false }` [INFO] [stdout] 5a9f41982704d72dadd395b49e9ab3e6029a79f53af30e5d42421c2269084bb7