[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 beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseanlth%2FFluid-Solver" "/workspace/builds/worker-1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/seanlth/Fluid-Solver on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-1/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" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded core-graphics v0.14.0
[INFO] [stderr]   Downloaded glutin v0.17.0
[INFO] [stderr]   Downloaded cocoa v0.15.0
[INFO] [stderr]   Downloaded cc v1.0.27
[INFO] [stderr]   Downloaded wayland-commons v0.20.12
[INFO] [stderr]   Downloaded wayland-sys v0.20.12
[INFO] [stderr]   Downloaded wayland-client v0.20.12
[INFO] [stderr]   Downloaded wayland-scanner v0.20.12
[INFO] [stderr]   Downloaded backtrace-sys v0.1.26
[INFO] [stderr]   Downloaded wayland-protocols v0.20.12
[INFO] [stderr]   Downloaded lodepng v2.4.2
[INFO] [stderr]   Downloaded glium v0.22.0
[INFO] [stderr]   Downloaded shared_library v0.1.2
[INFO] [stderr]   Downloaded winit v0.16.2
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.2.6
[INFO] [stderr]   Downloaded rgb v0.8.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30f72e8034d5a6c8cc2d48d2ee40f4ea54743aa671947d85a6513aee2a55c680
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "30f72e8034d5a6c8cc2d48d2ee40f4ea54743aa671947d85a6513aee2a55c680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30f72e8034d5a6c8cc2d48d2ee40f4ea54743aa671947d85a6513aee2a55c680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30f72e8034d5a6c8cc2d48d2ee40f4ea54743aa671947d85a6513aee2a55c680", kill_on_drop: false }`
[INFO] [stdout] 30f72e8034d5a6c8cc2d48d2ee40f4ea54743aa671947d85a6513aee2a55c680
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 9b4dcc1c80d01e73e37cd381fd7b434b36dcda4e52de33c91144dbcbe3189965
[INFO] running `Command { std: "docker" "start" "-a" "9b4dcc1c80d01e73e37cd381fd7b434b36dcda4e52de33c91144dbcbe3189965", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.45
[INFO] [stderr]    Compiling cc v1.0.27
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling downcast-rs v1.0.3
[INFO] [stderr]    Compiling nix v0.11.0
[INFO] [stderr]    Compiling autocfg v0.1.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.11
[INFO] [stderr]    Compiling rgb v0.8.11
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling rand_xorshift v0.1.0
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling x11-dl v2.18.3
[INFO] [stderr]    Compiling rand_chacha v0.1.0
[INFO] [stderr]    Compiling rand v0.6.1
[INFO] [stderr]    Compiling smallvec v0.6.7
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]    Compiling backtrace v0.3.13
[INFO] [stderr]    Compiling wayland-scanner v0.20.12
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling libloading v0.5.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.26
[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 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 wayland-commons v0.20.12
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[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: 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]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                                                                      ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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 | ... &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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 | ...-> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                            ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]   |                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]   |                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                             ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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] 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: 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: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 38.65s
[INFO] running `Command { std: "docker" "inspect" "9b4dcc1c80d01e73e37cd381fd7b434b36dcda4e52de33c91144dbcbe3189965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b4dcc1c80d01e73e37cd381fd7b434b36dcda4e52de33c91144dbcbe3189965", kill_on_drop: false }`
[INFO] [stdout] 9b4dcc1c80d01e73e37cd381fd7b434b36dcda4e52de33c91144dbcbe3189965
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 8e9b15542331775b3c7d9d0a5d2945033623ec2bfce7f20c8cb01e31cd896e45
[INFO] running `Command { std: "docker" "start" "-a" "8e9b15542331775b3c7d9d0a5d2945033623ec2bfce7f20c8cb01e31cd896e45", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                                                                      ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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 | ... &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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 | ...-> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                            ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]   |                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]   |                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                             ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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] 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: 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] [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: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: 27 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: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fluids` due to 2 previous errors
[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] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[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]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                                                                      ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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 | ... &Field, &Field, f64, f64, &Fn(f64, f64, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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 | ...-> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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, &Field) -> f64, &Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64) ) -> Self {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                            ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]   |                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]   |                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                             ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Field) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64, &Fn(f64, f64) -> f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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] 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: 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] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/fluids-35a112e95414baeb.fluids.8410ee91-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-35a112e95414baeb.fluids.8410ee91-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-35a112e95414baeb.fluids.8410ee91-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-35a112e95414baeb.fluids.8410ee91-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/fluids-35a112e95414baeb.1q4cn84k26h810ye.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/build/backtrace-sys-b6f6a7d680e8843c/out" "-L" "/opt/rustwide/target/debug/build/libloading-4eceb1d9f66e4bf2/out" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lsolver" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-6e9019ff2cdb2237.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-e9cc0b5f091b140c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-762dfa4479f14aad.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-2a5ac1cc0b21909c.rlib" "/opt/rustwide/target/debug/deps/liblodepng-a59d9bb8f5e3cc28.rlib" "/opt/rustwide/target/debug/deps/librgb-3e5344856ebd9fac.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-4c8c7e21127df339.rlib" "/opt/rustwide/target/debug/deps/libglium-a9e3dc2782ba69b8.rlib" "/opt/rustwide/target/debug/deps/libglutin-7d49f22928d9af9e.rlib" "/opt/rustwide/target/debug/deps/libosmesa_sys-4574a2747b9fd417.rlib" "/opt/rustwide/target/debug/deps/libwinit-aaa7f5c9588f15f4.rlib" "/opt/rustwide/target/debug/deps/libsmithay_client_toolkit-4f2dfc040ddac123.rlib" "/opt/rustwide/target/debug/deps/libwayland_protocols-afe9605d264eabab.rlib" "/opt/rustwide/target/debug/deps/libwayland_client-05a0633da5a0303b.rlib" "/opt/rustwide/target/debug/deps/libwayland_commons-0b752d0c35899aba.rlib" "/opt/rustwide/target/debug/deps/libwayland_sys-4fadb608e0e14162.rlib" "/opt/rustwide/target/debug/deps/libdowncast_rs-b3513f9d0af7d5bb.rlib" "/opt/rustwide/target/debug/deps/libtempfile-b8dbdef5be9e70eb.rlib" "/opt/rustwide/target/debug/deps/libremove_dir_all-2bc40c8a1417c1c2.rlib" "/opt/rustwide/target/debug/deps/librand-09fed0c10014031f.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-53435e651457f719.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-c48d6389b68b65cc.rlib" "/opt/rustwide/target/debug/deps/librand_hc-71bb025ce574753b.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-89bb220b77f9dbca.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-331ae275d72700dd.rlib" "/opt/rustwide/target/debug/deps/libnix-0d849a9681c40c28.rlib" "/opt/rustwide/target/debug/deps/libmemmap-ddc7ade01b138b28.rlib" "/opt/rustwide/target/debug/deps/libdlib-58e4880baf79769c.rlib" "/opt/rustwide/target/debug/deps/liblibloading-f3156a623858136d.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-d4a71101ce874762.rlib" "/opt/rustwide/target/debug/deps/libbitflags-894046a79a227a67.rlib" "/opt/rustwide/target/debug/deps/libpercent_encoding-76122f85aad64373.rlib" "/opt/rustwide/target/debug/deps/libparking_lot-1f96d9b70716ea10.rlib" "/opt/rustwide/target/debug/deps/libparking_lot_core-0d0c26484932da3d.rlib" "/opt/rustwide/target/debug/deps/librand-b4c0797c58a40116.rlib" "/opt/rustwide/target/debug/deps/librand_core-521cc9f6c73acb10.rlib" "/opt/rustwide/target/debug/deps/librand_core-147bdcdd0b7347a2.rlib" "/opt/rustwide/target/debug/deps/liblock_api-81785955f41cfe36.rlib" "/opt/rustwide/target/debug/deps/libowning_ref-92f46965b85c06b4.rlib" "/opt/rustwide/target/debug/deps/libstable_deref_trait-db529046b1803166.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-40c89e52afab1f08.rlib" "/opt/rustwide/target/debug/deps/libx11_dl-9f246c4eb922e5be.rlib" "/opt/rustwide/target/debug/deps/liblog-6b69a70e17f6800c.rlib" "/opt/rustwide/target/debug/deps/libshared_library-81948892e661948d.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-9ebd67c17ed5fefb.rlib" "/opt/rustwide/target/debug/deps/libfnv-4051482eb6a94926.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-c633f1eb02aff16b.rlib" "/opt/rustwide/target/debug/deps/libunreachable-c71a83fc7a0054e2.rlib" "/opt/rustwide/target/debug/deps/libvoid-0f00770ac4b830b4.rlib" "/opt/rustwide/target/debug/deps/libbacktrace-5caae7d09b738a17.rlib" "/opt/rustwide/target/debug/deps/libbacktrace_sys-6a29e4fe4931b3e6.rlib" "/opt/rustwide/target/debug/deps/librustc_demangle-8db7c7d34fecfbd7.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-367e41d21119f065.rlib" "/opt/rustwide/target/debug/deps/liblibc-0f1c5faca417ed2e.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-1974160ebb6ef4aa.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-197d933f09d9a590.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-46a006cddfd334f0.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-5b9870310e470b38.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-260022ba8f1ab4ee.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-71377435a799394f.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-658ee5924fde57cd.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-9e8627da6bd1b94a.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-19fdaac49f59be84.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-cb00e2691ea45905.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-50f6726defae5ae1.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2afc16311deea26e.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-bb5cb0fe086ee8cf.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-896053247b5dfd0b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-735e1f2ac3cf23be.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9dfb6622644c732c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-beea7d9617fe25c5.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-8ef7dd43fc671f88.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a9a3b2ad67977f47.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/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/fluids-35a112e95414baeb" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-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; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "8e9b15542331775b3c7d9d0a5d2945033623ec2bfce7f20c8cb01e31cd896e45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e9b15542331775b3c7d9d0a5d2945033623ec2bfce7f20c8cb01e31cd896e45", kill_on_drop: false }`
[INFO] [stdout] 8e9b15542331775b3c7d9d0a5d2945033623ec2bfce7f20c8cb01e31cd896e45
