[INFO] fetching crate crayon 0.7.1... [INFO] testing crayon-0.7.1 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_getrandom_patch_2 [INFO] extracting crate crayon 0.7.1 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate crayon 0.7.1 [INFO] finished tweaking crates.io crate crayon 0.7.1 [INFO] tweaked toml for crates.io crate crayon 0.7.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate crayon 0.7.1 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 130 packages to latest compatible versions [INFO] [stderr] Adding bincode v1.3.3 (available: v2.0.1) [INFO] [stderr] Adding cgmath v0.16.1 (available: v0.18.0) [INFO] [stderr] Adding crossbeam-deque v0.5.2 (available: v0.8.6) [INFO] [stderr] Adding env_logger v0.6.2 (available: v0.11.8) [INFO] [stderr] Adding gl v0.10.0 (available: v0.14.0) [INFO] [stderr] Adding glutin v0.18.0 (available: v0.32.3) [INFO] [stderr] Adding rand v0.5.6 (available: v0.9.2) [INFO] [stderr] Adding smallvec v0.6.14 (available: v1.15.1) [INFO] [stderr] Adding uuid v0.7.4 (available: v1.18.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wayland-commons v0.20.12 [INFO] [stderr] Downloaded wayland-sys v0.20.12 [INFO] [stderr] Downloaded glutin v0.18.0 [INFO] [stderr] Downloaded memoffset v0.2.1 [INFO] [stderr] Downloaded crossbeam-epoch v0.5.2 [INFO] [stderr] Downloaded gleam v0.6.19 [INFO] [stderr] Downloaded cocoa v0.17.0 [INFO] [stderr] Downloaded core-graphics v0.16.0 [INFO] [stderr] Downloaded winit v0.17.2 [INFO] [stderr] Downloaded xml-rs v0.7.0 [INFO] [stderr] Downloaded wayland-client v0.20.12 [INFO] [stderr] Downloaded crossbeam-deque v0.5.2 [INFO] [stderr] Downloaded khronos_api v2.2.0 [INFO] [stderr] Downloaded smithay-client-toolkit v0.3.0 [INFO] [stderr] Downloaded wayland-protocols v0.20.12 [INFO] [stderr] Downloaded gl_generator v0.9.0 [INFO] [stderr] Downloaded nix v0.11.1 [INFO] [stderr] Downloaded memmap v0.6.2 [INFO] [stderr] Downloaded wayland-scanner v0.20.12 [INFO] [stderr] Downloaded inlinable_string v0.1.15 [INFO] [stderr] Downloaded crossbeam-utils v0.5.0 [INFO] [stderr] Downloaded gl v0.10.0 [INFO] [stderr] Downloaded gl_generator v0.13.1 [INFO] [stderr] Downloaded cgl v0.2.3 [INFO] [stderr] Downloaded android_glue v0.2.3 [INFO] [stderr] Downloaded dlib v0.4.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9be3577dcb9cb72eacb2c95a6ef0e0892ec7415ca5bc61dbfccb967b63722049 [INFO] running `Command { std: "docker" "start" "-a" "9be3577dcb9cb72eacb2c95a6ef0e0892ec7415ca5bc61dbfccb967b63722049", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9be3577dcb9cb72eacb2c95a6ef0e0892ec7415ca5bc61dbfccb967b63722049", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9be3577dcb9cb72eacb2c95a6ef0e0892ec7415ca5bc61dbfccb967b63722049", kill_on_drop: false }` [INFO] [stdout] 9be3577dcb9cb72eacb2c95a6ef0e0892ec7415ca5bc61dbfccb967b63722049 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ba2efd9ff126db3fe2956ec86c107b37ee1e2601b85638dfa2262d2dfa852335 [INFO] running `Command { std: "docker" "start" "-a" "ba2efd9ff126db3fe2956ec86c107b37ee1e2601b85638dfa2262d2dfa852335", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Compiling libloading v0.6.7 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling memmap v0.6.2 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling addr2line v0.25.1 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling owning_ref v0.4.1 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling memoffset v0.2.1 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling lock_api v0.1.5 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling crossbeam-utils v0.5.0 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling wayland-sys v0.20.12 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling approx v0.1.1 [INFO] [stderr] Compiling backtrace v0.3.76 [INFO] [stderr] Compiling wayland-commons v0.20.12 [INFO] [stderr] Compiling crossbeam-epoch v0.5.2 [INFO] [stderr] Compiling wayland-scanner v0.20.12 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling crossbeam-deque v0.5.2 [INFO] [stderr] Compiling wayland-client v0.20.12 [INFO] [stderr] Compiling wayland-protocols v0.20.12 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling uuid v0.7.4 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling glutin v0.18.0 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Compiling parking_lot v0.6.4 [INFO] [stderr] Compiling smithay-client-toolkit v0.3.0 [INFO] [stderr] Compiling winit v0.17.2 [INFO] [stderr] Compiling crayon v0.7.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | let mut v = ::std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:32 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:32 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:353:43 [INFO] [stdout] | [INFO] [stdout] 353 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 353 - static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] 353 + static COUNTER: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/ins.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:31:69 [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/job.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box) + Send + Sync; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:36:68 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/mod.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/mod.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new_headless() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new_headless() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/unwind.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/window/backends/mod.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_headless() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_headless() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/window/backends/glutin/mod.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/frame.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | visitor: &mut Visitor, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | visitor: &mut dyn Visitor, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scheduler.rs:150:41 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | pub fn handle_panic(&self, err: Box) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | let value: Box> = mem::transmute(panic); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 | let value: Box> = mem::transmute(panic); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct GLSurfaceData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 20 | handle: SurfaceHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLSurfaceData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 82 | struct GLTextureData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 83 | handle: TextureHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLTextureData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 90 | struct GLRenderTextureData { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 91 | handle: RenderTextureHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLRenderTextureData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `&mut T` does not permit being left uninitialized [INFO] [stdout] --> src/utils/object_pool.rs:103:45 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: references must be non-null [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:24 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ ------ -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:463:17 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values, (String, UniformVariableType)> { [INFO] [stdout] | ^^^^^ ----------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values<'_, HashValue, (String, UniformVariableType)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:27 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:27 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/sched/job.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Copy, Clone, Debug, PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 48 | execute_fn: unsafe fn(*const ()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.16s [INFO] running `Command { std: "docker" "inspect" "ba2efd9ff126db3fe2956ec86c107b37ee1e2601b85638dfa2262d2dfa852335", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba2efd9ff126db3fe2956ec86c107b37ee1e2601b85638dfa2262d2dfa852335", kill_on_drop: false }` [INFO] [stdout] ba2efd9ff126db3fe2956ec86c107b37ee1e2601b85638dfa2262d2dfa852335 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 6de643bd2891511cbbc5ddba28aad7f63095fe4f5e2f803c4448baf088cee953 [INFO] running `Command { std: "docker" "start" "-a" "6de643bd2891511cbbc5ddba28aad7f63095fe4f5e2f803c4448baf088cee953", kill_on_drop: false }` [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | let mut v = ::std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:32 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:32 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:353:43 [INFO] [stdout] | [INFO] [stdout] 353 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 353 - static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] 353 + static COUNTER: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/ins.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:31:69 [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/job.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box) + Send + Sync; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:36:68 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/mod.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/mod.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new_headless() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new_headless() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/unwind.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/window/backends/mod.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_headless() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_headless() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/window/backends/glutin/mod.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/frame.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | visitor: &mut Visitor, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | visitor: &mut dyn Visitor, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scheduler.rs:150:41 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | pub fn handle_panic(&self, err: Box) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | let value: Box> = mem::transmute(panic); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 | let value: Box> = mem::transmute(panic); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct GLSurfaceData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 20 | handle: SurfaceHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLSurfaceData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 82 | struct GLTextureData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 83 | handle: TextureHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLTextureData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 90 | struct GLRenderTextureData { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 91 | handle: RenderTextureHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLRenderTextureData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `&mut T` does not permit being left uninitialized [INFO] [stdout] --> src/utils/object_pool.rs:103:45 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: references must be non-null [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:24 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ ------ -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:463:17 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values, (String, UniformVariableType)> { [INFO] [stdout] | ^^^^^ ----------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values<'_, HashValue, (String, UniformVariableType)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:27 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:27 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/sched/job.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Copy, Clone, Debug, PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 48 | execute_fn: unsafe fn(*const ()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling crayon v0.7.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | let mut v = ::std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:32 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:32 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:353:43 [INFO] [stdout] | [INFO] [stdout] 353 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 353 - static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] 353 + static COUNTER: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/ins.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:31:69 [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/job.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box) + Send + Sync; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:36:68 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/mod.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/mod.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new_headless() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new_headless() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/unwind.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/window/backends/mod.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_headless() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_headless() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/window/backends/glutin/mod.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/video/backends/frame.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | visitor: &mut Visitor, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | visitor: &mut dyn Visitor, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scheduler.rs:150:41 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | pub fn handle_panic(&self, err: Box) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "/tmp/rustcWdNcrX/symbols.o" "<3 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{libcrayon-3e98a596c3647cdd.rlib,libuuid-751ec206a4ce8f80.rlib,libbincode-e40f46d70f1295bd.rlib,libinlinable_string-e6c65e65d87eb96d.rlib,libcrossbeam_deque-eaf1c15367b8620c.rlib,libcrossbeam_epoch-1a6033c5b4be437d.rlib,libmemoffset-48baf62bf0ee0555.rlib,libcrossbeam_utils-7e097c99806fe844.rlib,libarrayvec-835735d25fad555e.rlib,libnodrop-d2288700c14892b1.rlib,libserde_json-b66a99061629e609.rlib,libitoa-ffb801c715a80a64.rlib,libryu-0a228f54b75663b5.rlib,libbyteorder-1e24148c060ae1e7.rlib,libcgmath-4f1652a1dbc9514f.rlib,libnum_traits-621fc2738ca2ddc3.rlib,libnum_traits-662892e1af552476.rlib,librand-acdce1f656806781.rlib,libapprox-90e23ea93fa26511.rlib,libfailure-97215b96d427e7cb.rlib,libbacktrace-a3809c2b932d5407.rlib,libminiz_oxide-e6f530019c4f3852.rlib,libadler2-b5c18c9729528d75.rlib,libobject-bd3f008440e92666.rlib,libmemchr-9bc6d6dfe132b810.rlib,libaddr2line-e77f3d7d032196d0.rlib,libgimli-e1011227eeab82cf.rlib,librustc_demangle-2d05d647f7915329.rlib,libglutin-9d8f54448ff6a52f.rlib,libosmesa_sys-842f84a9d6387143.rlib,libwinit-1fe5a119e52e334a.rlib,libsmithay_client_toolkit-57d789bb4ab0cc49.rlib,libwayland_protocols-0411b138b2b755ed.rlib,libwayland_client-71415af84a2dc0ac.rlib,libwayland_commons-c4561f80b92d208c.rlib,libwayland_sys-945dfbeff35f2b6c.rlib,libdowncast_rs-cc091fe72c7d85c0.rlib,libnix-7f037cbeb77a83f4.rlib,libvoid-93586161032aa49a.rlib,libcfg_if-2d17986ae484e939.rlib,libmemmap-53e4fa2e9b6bf79c.rlib,libdlib-5bfb6e65add90893.rlib,liblibloading-9d18299a3661484a.rlib}.rlib" "-ldl" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{libcfg_if-f02ef4fc73f36b05.rlib,libbitflags-e274cd04b58a060d.rlib,libpercent_encoding-c47875da91a27715.rlib,libparking_lot-50752a85ac222936.rlib,libparking_lot_core-20a31e7e5468e83e.rlib,libsmallvec-259df13d1f96315d.rlib,libmaybe_uninit-0ec4086066d636e4.rlib,libserde-fe7e44b58f50156b.rlib,libserde_core-349b2b32b09ce72d.rlib,librand-25158e4198a6c872.rlib,librand_core-4a159a921d63a3e0.rlib,librand_core-5dd93ed12702f197.rlib,liblock_api-31d6fcca3a37e48e.rlib,libowning_ref-fbc0b2ee62fd7dd3.rlib,libstable_deref_trait-442303c7f0a58071.rlib,libscopeguard-babe74dcc80d655a.rlib,libx11_dl-ec2d6c017a27244d.rlib}.rlib" "-ldl" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{libonce_cell-9f23038a26dfc6d0.rlib,liblog-cb5d15e83916f17a.rlib,libshared_library-71b0acb43c9a4d15.rlib,liblazy_static-f3dc5c13b01a78ba.rlib,liblibc-8ac7d079dc542fb5.rlib,libgl-13928800652ac61a.rlib}.rlib" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*}.rlib" "-lunwind" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libcfg_if-*,liblibc-*}.rlib" "-lc" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/tmp/rustcWdNcrX/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/render_texture-cab76f03f852c639" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `crayon` (example "render_texture") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | let value: Box> = mem::transmute(panic); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 | let value: Box> = mem::transmute(panic); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct GLSurfaceData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 20 | handle: SurfaceHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLSurfaceData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 82 | struct GLTextureData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 83 | handle: TextureHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLTextureData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `handle` is never read [INFO] [stdout] --> src/video/backends/gl/visitor.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 90 | struct GLRenderTextureData { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 91 | handle: RenderTextureHandle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLRenderTextureData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `&mut T` does not permit being left uninitialized [INFO] [stdout] --> src/utils/object_pool.rs:103:45 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: references must be non-null [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:24 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ ------ -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:463:17 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values, (String, UniformVariableType)> { [INFO] [stdout] | ^^^^^ ----------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values<'_, HashValue, (String, UniformVariableType)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:27 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:27 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/sched/job.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Copy, Clone, Debug, PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 48 | execute_fn: unsafe fn(*const ()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6de643bd2891511cbbc5ddba28aad7f63095fe4f5e2f803c4448baf088cee953", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6de643bd2891511cbbc5ddba28aad7f63095fe4f5e2f803c4448baf088cee953", kill_on_drop: false }` [INFO] [stdout] 6de643bd2891511cbbc5ddba28aad7f63095fe4f5e2f803c4448baf088cee953