[INFO] fetching crate crayon 0.7.1... [INFO] testing crayon-0.7.1 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate crayon 0.7.1 into /workspace/builds/worker-2-tc2/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-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate crayon 0.7.1 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "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" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 146 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.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 77b764de2682d92686c2227171280bcf07f4bef5e4727dc11ae20e42ab63f8df [INFO] running `Command { std: "docker" "start" "-a" "77b764de2682d92686c2227171280bcf07f4bef5e4727dc11ae20e42ab63f8df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "77b764de2682d92686c2227171280bcf07f4bef5e4727dc11ae20e42ab63f8df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77b764de2682d92686c2227171280bcf07f4bef5e4727dc11ae20e42ab63f8df", kill_on_drop: false }` [INFO] [stdout] 77b764de2682d92686c2227171280bcf07f4bef5e4727dc11ae20e42ab63f8df [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3d23111cd7c2712e78e84c1dd3bdb01c2abab2e99f338a110ffe42c78bc69605 [INFO] running `Command { std: "docker" "start" "-a" "3d23111cd7c2712e78e84c1dd3bdb01c2abab2e99f338a110ffe42c78bc69605", kill_on_drop: false }` [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling libloading v0.6.7 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling owning_ref v0.4.1 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Compiling memmap v0.6.2 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling lock_api v0.1.5 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling wayland-sys v0.20.12 [INFO] [stderr] Compiling memoffset v0.2.1 [INFO] [stderr] Compiling rustc-demangle v0.1.26 [INFO] [stderr] Compiling crossbeam-utils v0.5.0 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling wayland-commons v0.20.12 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling wayland-scanner v0.20.12 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.5.2 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling approx v0.1.1 [INFO] [stderr] Compiling wayland-client v0.20.12 [INFO] [stderr] Compiling wayland-protocols v0.20.12 [INFO] [stderr] Compiling glutin v0.18.0 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Compiling crossbeam-deque v0.5.2 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling smithay-client-toolkit v0.3.0 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling uuid v0.7.4 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling parking_lot v0.6.4 [INFO] [stderr] Compiling winit v0.17.2 [INFO] [stderr] Compiling failure v0.1.8 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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 `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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 `Clone` and `Debug`, 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 `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:70 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:68 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:76 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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 22.55s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: glutin v0.18.0, winit v0.17.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "3d23111cd7c2712e78e84c1dd3bdb01c2abab2e99f338a110ffe42c78bc69605", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d23111cd7c2712e78e84c1dd3bdb01c2abab2e99f338a110ffe42c78bc69605", kill_on_drop: false }` [INFO] [stdout] 3d23111cd7c2712e78e84c1dd3bdb01c2abab2e99f338a110ffe42c78bc69605 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b748008b81b73509a41dfa664d09575e539a047b2961c84232144771a52cfa62 [INFO] running `Command { std: "docker" "start" "-a" "b748008b81b73509a41dfa664d09575e539a047b2961c84232144771a52cfa62", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.10 [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] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling termcolor v1.4.1 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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 `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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 `Clone` and `Debug`, 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 `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:70 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:68 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:76 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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 regex v1.11.2 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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 `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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 `Clone` and `Debug`, 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 `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:70 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:68 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:76 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | -- ^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | the lifetime is named here the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type 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 `test` profile [unoptimized + debuginfo] target(s) in 7.27s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: glutin v0.18.0, winit v0.17.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "b748008b81b73509a41dfa664d09575e539a047b2961c84232144771a52cfa62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b748008b81b73509a41dfa664d09575e539a047b2961c84232144771a52cfa62", kill_on_drop: false }` [INFO] [stdout] b748008b81b73509a41dfa664d09575e539a047b2961c84232144771a52cfa62 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2681d42568d603cf0d38afa826c32bfe50e8a548279b565374e60cd8892ea671 [INFO] running `Command { std: "docker" "start" "-a" "2681d42568d603cf0d38afa826c32bfe50e8a548279b565374e60cd8892ea671", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/utils/object_pool.rs:80:41 [INFO] [stderr] | [INFO] [stderr] 80 | let mut v = ::std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/utils/object_pool.rs:103:55 [INFO] [stderr] | [INFO] [stderr] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/video/backends/gl/capabilities.rs:236:32 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/video/backends/gl/capabilities.rs:296:32 [INFO] [stderr] | [INFO] [stderr] 296 | let mut val = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/video/backends/gl/capabilities.rs:321:32 [INFO] [stderr] | [INFO] [stderr] 321 | let mut val = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/sched/scheduler.rs:2:48 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/sched/scheduler.rs:353:43 [INFO] [stderr] | [INFO] [stderr] 353 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: replace the use of the deprecated constant [INFO] [stderr] | [INFO] [stderr] 353 - static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stderr] 353 + static COUNTER: AtomicUsize = AtomicUsize::new(0); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/application/ins.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | ins: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 | ins: HashMap>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/application/lifecycle.rs:30:48 [INFO] [stderr] | [INFO] [stderr] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/application/lifecycle.rs:31:69 [INFO] [stderr] | [INFO] [stderr] 31 | lifecycles: Mutex>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 31 | lifecycles: Mutex>>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/res/vfs/mod.rs:20:38 [INFO] [stderr] | [INFO] [stderr] 20 | schemas: FastHashMap>, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 20 | schemas: FastHashMap>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/scope.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/scope.rs:19:26 [INFO] [stderr] | [INFO] [stderr] 19 | panic: AtomicPtr>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 | panic: AtomicPtr>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/job.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | Panic(Box), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 11 | Panic(Box), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/system.rs:14:25 [INFO] [stderr] | [INFO] [stderr] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/system.rs:14:32 [INFO] [stderr] | [INFO] [stderr] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 | pub type PanicHandler = Fn(Box) + Send + Sync; [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/res/vfs/mod.rs:36:68 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/video/backends/mod.rs:105:28 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn new() -> Result> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 105 | pub fn new() -> Result> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/video/backends/mod.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn new_headless() -> Box { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 119 | pub fn new_headless() -> Box { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/unwind.rs:19:38 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 | pub fn resume_unwinding(payload: Box) -> ! { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/window/backends/mod.rs:21:30 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new_headless() -> Box { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new_headless() -> Box { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/window/backends/glutin/mod.rs:9:48 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 9 | pub fn new(params: WindowParams) -> Result> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/video/backends/frame.rs:64:23 [INFO] [stderr] | [INFO] [stderr] 64 | visitor: &mut Visitor, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 64 | visitor: &mut dyn Visitor, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/scheduler.rs:150:41 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn handle_panic(&self, err: Box<::std::any::Any + Send>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 150 | pub fn handle_panic(&self, err: Box) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sched/scope.rs:95:32 [INFO] [stderr] | [INFO] [stderr] 95 | let value: Box> = mem::transmute(panic); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 95 | let value: Box> = mem::transmute(panic); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: field `handle` is never read [INFO] [stderr] --> src/video/backends/gl/visitor.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 19 | struct GLSurfaceData { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 20 | handle: SurfaceHandle, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GLSurfaceData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `handle` is never read [INFO] [stderr] --> src/video/backends/gl/visitor.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 82 | struct GLTextureData { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 83 | handle: TextureHandle, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GLTextureData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `handle` is never read [INFO] [stderr] --> src/video/backends/gl/visitor.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 90 | struct GLRenderTextureData { [INFO] [stderr] | ------------------- field in this struct [INFO] [stderr] 91 | handle: RenderTextureHandle, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GLRenderTextureData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils/double_buf.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils/double_buf.rs:32:27 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils/double_buf.rs:37:26 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils/handle_pool.rs:135:17 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 135 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: the type `&mut T` does not permit being left uninitialized [INFO] [stderr] --> src/utils/object_pool.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: references must be non-null [INFO] [stderr] = note: `#[warn(invalid_value)]` on by default [INFO] [stderr] [INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/utils/object_pool.rs:123:70 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stderr] | -- ^^ -- the same lifetime is named here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is named here the same lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/utils/object_pool.rs:147:68 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stderr] | -- ^^ -- the same lifetime is named here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is named here the same lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/utils/object_pool.rs:155:76 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stderr] | -- ^^^^^^ -- the same lifetime is named here [INFO] [stderr] | | | [INFO] [stderr] | the lifetime is named here the same lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/video/assets/shader.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/video/assets/shader.rs:463:17 [INFO] [stderr] | [INFO] [stderr] 463 | pub fn iter(&self) -> Values, (String, UniformVariableType)> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 463 | pub fn iter(&self) -> Values<'_, HashValue, (String, UniformVariableType)> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/video/errors.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stderr] 2 | pub enum Error { [INFO] [stderr] | ----- `Error` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/video/errors.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stderr] 2 | pub enum Error { [INFO] [stderr] | ----- `Error` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the type `i32` does not permit being left uninitialized [INFO] [stderr] --> src/video/backends/gl/capabilities.rs:236:27 [INFO] [stderr] | [INFO] [stderr] 236 | let mut val = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: the type `i32` does not permit being left uninitialized [INFO] [stderr] --> src/video/backends/gl/capabilities.rs:296:27 [INFO] [stderr] | [INFO] [stderr] 296 | let mut val = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: the type `i32` does not permit being left uninitialized [INFO] [stderr] --> src/video/backends/gl/capabilities.rs:321:27 [INFO] [stderr] | [INFO] [stderr] 321 | let mut val = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/res/manifest.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stderr] --> src/sched/job.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 45 | #[derive(Copy, Clone, Debug, PartialEq, Eq)] [INFO] [stderr] | --------- in this derive macro expansion [INFO] [stderr] ... [INFO] [stderr] 48 | execute_fn: unsafe fn(*const ()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the address of the same function can vary between different codegen units [INFO] [stderr] = note: furthermore, different functions could have the same address after being merged together [INFO] [stderr] = note: for more information visit [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `crayon` (lib) generated 45 warnings (run `cargo fix --lib -p crayon` to apply 29 suggestions) [INFO] [stderr] warning: `crayon` (lib test) generated 45 warnings (45 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: glutin v0.18.0, winit v0.17.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/crayon-78b7746d44ab970a) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stderr] [INFO] [stderr] thread 'video::assets::mesh::macros::test::basic' (34) panicked at src/video/assets/mesh.rs:544:9: [INFO] [stderr] null pointer dereference occurred [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x5b129e0af0c2 - std::backtrace_rs::backtrace::libunwind::trace::h589a96ef7638b383 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x5b129e0af0c2 - std::backtrace_rs::backtrace::trace_unsynchronized::h23a30a7548c40de4 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x5b129e0af0c2 - std::sys::backtrace::_print_fmt::h87dabd6535c8c07a [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x5b129e0af0c2 - ::fmt::hffd20ad4e5eca8ab [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x5b129e0bf4df - core::fmt::rt::Argument::fmt::h75c83e3fd5ce2419 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x5b129e0bf4df - core::fmt::write::h6d9d3a7cfd7b84f5 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/fmt/mod.rs:1468:25 [INFO] [stderr] 6: 0x5b129e07c823 - std::io::default_write_fmt::ha7130bf70117e1da [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x5b129e07c823 - std::io::Write::write_fmt::h22459ad26fe60c51 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x5b129e088842 - std::sys::backtrace::BacktraceLock::print::hb28797143397220e [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x5b129e08d23f - std::panicking::default_hook::{{closure}}::h7555113b62983743 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:301:27 [INFO] [stderr] 10: 0x5b129e08d099 - std::panicking::default_hook::h2714b564abe8d914 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:328:9 [INFO] [stderr] 11: 0x5b129e04741e - as core::ops::function::Fn>::call::h0e9de8cceb22406e [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/alloc/src/boxed.rs:1999:9 [INFO] [stderr] 12: 0x5b129e04741e - test::test_main_with_exit_callback::{{closure}}::h8125bd66cf4739d0 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:145:21 [INFO] [stderr] 13: 0x5b129e08d8de - as core::ops::function::Fn>::call::h1fd0a0802eaec16b [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/alloc/src/boxed.rs:1999:9 [INFO] [stderr] 14: 0x5b129e08d8de - std::panicking::panic_with_hook::h190dc82263685ec5 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:842:13 [INFO] [stderr] 15: 0x5b129e08d676 - std::panicking::panic_handler::{{closure}}::h8b036a1b366643ac [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:700:13 [INFO] [stderr] 16: 0x5b129e088979 - std::sys::backtrace::__rust_end_short_backtrace::h45affcfc0c830da8 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 17: 0x5b129e070ced - __rustc[9b67c8562bba447b]::rust_begin_unwind [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:698:5 [INFO] [stderr] 18: 0x5b129e0c6c8d - core::panicking::panic_nounwind_fmt::runtime::h0e9d970dfc029f14 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panicking.rs:117:22 [INFO] [stderr] 19: 0x5b129e0c6c8d - core::panicking::panic_nounwind_fmt::h120e82628a1ba90a [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/intrinsics/mod.rs:2380:9 [INFO] [stderr] 20: 0x5b129e0c6e6d - core::panicking::panic_null_pointer_dereference::h716742727c14778f [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panicking.rs:302:5 [INFO] [stderr] 21: 0x5b129e021ac5 - crayon::video::assets::mesh::macros::test::Vertex::layout::h999859fdb38b868f [INFO] [stderr] at /opt/rustwide/workdir/src/video/assets/mesh.rs:486:22 [INFO] [stderr] 22: 0x5b129e0212f1 - crayon::video::assets::mesh::macros::test::basic::h8013e6177272c6ac [INFO] [stderr] at /opt/rustwide/workdir/src/video/assets/mesh.rs:569:26 [INFO] [stderr] 23: 0x5b129e021967 - crayon::video::assets::mesh::macros::test::basic::{{closure}}::hce6c30346bd4ce47 [INFO] [stderr] at /opt/rustwide/workdir/src/video/assets/mesh.rs:568:19 [INFO] [stderr] 24: 0x5b129e01dc06 - core::ops::function::FnOnce::call_once::hb8f38803314e04e8 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 25: 0x5b129e0471db - core::ops::function::FnOnce::call_once::hdbf42be2a49fb464 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 26: 0x5b129e0471db - test::__rust_begin_short_backtrace::h8ae08814d38cb356 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:663:18 [INFO] [stderr] 27: 0x5b129e05ccc5 - test::run_test_in_process::{{closure}}::h54574ee4f414d690 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:686:74 [INFO] [stderr] 28: 0x5b129e05ccc5 - as core::ops::function::FnOnce<()>>::call_once::h01a0b7e7aad1a501 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stderr] 29: 0x5b129e05ccc5 - std::panicking::catch_unwind::do_call::h23820e817c5612cd [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:590:40 [INFO] [stderr] 30: 0x5b129e05ccc5 - std::panicking::catch_unwind::h89c73a1febce5587 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:553:19 [INFO] [stderr] 31: 0x5b129e05ccc5 - std::panic::catch_unwind::h6f55caf410861914 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panic.rs:359:14 [INFO] [stderr] 32: 0x5b129e05ccc5 - test::run_test_in_process::h4db851878e5d3983 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:686:27 [INFO] [stderr] 33: 0x5b129e05ccc5 - test::run_test::{{closure}}::h57e8c5acaceacd24 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:607:43 [INFO] [stderr] 34: 0x5b129e0336b4 - test::run_test::{{closure}}::he775ccc3a9d3b97e [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:637:41 [INFO] [stderr] 35: 0x5b129e0336b4 - std::sys::backtrace::__rust_begin_short_backtrace::hcd94d85d7765225a [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:158:18 [INFO] [stderr] 36: 0x5b129e036efa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha814de8393f07830 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/thread/mod.rs:559:17 [INFO] [stderr] 37: 0x5b129e036efa - as core::ops::function::FnOnce<()>>::call_once::h8deb00af0abdeaf1 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stderr] 38: 0x5b129e036efa - std::panicking::catch_unwind::do_call::h1917979b0c279ea2 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:590:40 [INFO] [stderr] 39: 0x5b129e036efa - std::panicking::catch_unwind::h791ad91fee6ce34e [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:553:19 [INFO] [stderr] 40: 0x5b129e036efa - std::panic::catch_unwind::h982b8f40ed9c3cce [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panic.rs:359:14 [INFO] [stderr] 41: 0x5b129e036efa - std::thread::Builder::spawn_unchecked_::{{closure}}::h545e54700c945db4 [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/thread/mod.rs:557:30 [INFO] [stderr] 42: 0x5b129e036efa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb427481a5227d78a [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 43: 0x5b129e082bff - as core::ops::function::FnOnce>::call_once::h1d452951a81e9d0a [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/alloc/src/boxed.rs:1985:9 [INFO] [stderr] 44: 0x5b129e082bff - std::sys::pal::unix::thread::Thread::new::thread_start::h29c84e109630689a [INFO] [stderr] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stderr] 45: 0x74c38b16faa4 - [INFO] [stderr] 46: 0x74c38b1fca34 - clone [INFO] [stderr] 47: 0x0 - [INFO] [stderr] thread caused non-unwinding panic. aborting. [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/deps/crayon-78b7746d44ab970a` (signal: 6, SIGABRT: process abort signal) [INFO] running `Command { std: "docker" "inspect" "2681d42568d603cf0d38afa826c32bfe50e8a548279b565374e60cd8892ea671", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2681d42568d603cf0d38afa826c32bfe50e8a548279b565374e60cd8892ea671", kill_on_drop: false }` [INFO] [stdout] 2681d42568d603cf0d38afa826c32bfe50e8a548279b565374e60cd8892ea671