[INFO] fetching crate crayon 0.7.1... [INFO] checking crayon-0.7.1 against master#cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c for pr-143170 [INFO] extracting crate crayon 0.7.1 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate crayon 0.7.1 [INFO] finished tweaking crates.io crate crayon 0.7.1 [INFO] tweaked toml for crates.io crate crayon 0.7.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate crayon 0.7.1 on toolchain cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "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" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 136 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.1) [INFO] [stderr] Adding smallvec v0.6.14 (available: v1.15.1) [INFO] [stderr] Adding uuid v0.7.4 (available: v1.17.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wayland-scanner v0.20.12 [INFO] [stderr] Downloaded wayland-commons v0.20.12 [INFO] [stderr] Downloaded wayland-sys v0.20.12 [INFO] [stderr] Downloaded gl v0.10.0 [INFO] [stderr] Downloaded smithay-client-toolkit v0.3.0 [INFO] [stderr] Downloaded crossbeam-utils v0.5.0 [INFO] [stderr] Downloaded crossbeam-deque v0.5.2 [INFO] [stderr] Downloaded crossbeam-epoch v0.5.2 [INFO] [stderr] Downloaded wayland-client v0.20.12 [INFO] [stderr] Downloaded wayland-protocols v0.20.12 [INFO] [stderr] Downloaded glutin v0.18.0 [INFO] [stderr] Downloaded cocoa v0.17.0 [INFO] [stderr] Downloaded core-graphics v0.16.0 [INFO] [stderr] Downloaded nix v0.11.1 [INFO] [stderr] Downloaded winit v0.17.2 [INFO] [stderr] Downloaded parking_lot_core v0.3.1 [INFO] [stderr] Downloaded memmap v0.6.2 [INFO] [stderr] Downloaded parking_lot v0.6.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 144e796f270364242121debd23d003a8f1a542d9f4a0f5d6ce9a529f8727852c [INFO] running `Command { std: "docker" "start" "-a" "144e796f270364242121debd23d003a8f1a542d9f4a0f5d6ce9a529f8727852c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "144e796f270364242121debd23d003a8f1a542d9f4a0f5d6ce9a529f8727852c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "144e796f270364242121debd23d003a8f1a542d9f4a0f5d6ce9a529f8727852c", kill_on_drop: false }` [INFO] [stdout] 144e796f270364242121debd23d003a8f1a542d9f4a0f5d6ce9a529f8727852c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ff275720fa007710af83b7a86f7c0e6a8efe1ef322806e4784a57f22f5c5f089 [INFO] running `Command { std: "docker" "start" "-a" "ff275720fa007710af83b7a86f7c0e6a8efe1ef322806e4784a57f22f5c5f089", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking libloading v0.6.7 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking owning_ref v0.4.1 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking memmap v0.6.2 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking lock_api v0.1.5 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking wayland-sys v0.20.12 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking wayland-commons v0.20.12 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking rustc-demangle v0.1.25 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking crossbeam-utils v0.5.0 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking approx v0.1.1 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling wayland-scanner v0.20.12 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Checking crossbeam-epoch v0.5.2 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking crossbeam-deque v0.5.2 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Compiling glutin v0.18.0 [INFO] [stderr] Compiling wayland-client v0.20.12 [INFO] [stderr] Compiling wayland-protocols v0.20.12 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking addr2line v0.24.2 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking inlinable_string v0.1.15 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking smithay-client-toolkit v0.3.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking winit v0.17.2 [INFO] [stderr] Checking backtrace v0.3.75 [INFO] [stderr] Checking env_logger v0.6.2 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking crayon v0.7.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | let mut v = ::std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:32 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:32 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:353:43 [INFO] [stdout] | [INFO] [stdout] 353 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 353 - static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] 353 + static COUNTER: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/ins.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:31:69 [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/job.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box) + Send + Sync; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | let mut v = ::std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/utils/object_pool.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:32 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:32 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sched/scheduler.rs:353:43 [INFO] [stdout] | [INFO] [stdout] 353 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 353 - static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] 353 + static COUNTER: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/ins.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | ins: HashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | last_frame_lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/application/lifecycle.rs:31:69 [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | lifecycles: Mutex>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | schemas: FastHashMap>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | marker: PhantomData) + Send + Sync + 's>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/scope.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | panic: AtomicPtr>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/job.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | Panic(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = dyn Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/sched/system.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box<::std::any::Any + Send>) + Send + Sync; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type PanicHandler = Fn(Box) + Send + Sync; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/res/vfs/mod.rs:36:68 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | pub fn locate>(&self, schema: T1) -> Result, failure::Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/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/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/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/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/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/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: 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)]` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `&mut T` does not permit being left uninitialized [INFO] [stdout] --> src/utils/object_pool.rs:103:45 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: references must be non-null [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:24 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ ------ -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:463:17 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values, (String, UniformVariableType)> { [INFO] [stdout] | ^^^^^ ----------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values<'_, HashValue, (String, UniformVariableType)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:27 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:27 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/sched/job.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Copy, Clone, Debug, PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 48 | execute_fn: unsafe fn(*const ()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [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)]` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn write(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn write_back_buf(&self) -> RwLockWriteGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/double_buf.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read_back_buf(&self) -> RwLockReadGuard<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/handle_pool.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 135 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `&mut T` does not permit being left uninitialized [INFO] [stdout] --> src/utils/object_pool.rs:103:45 [INFO] [stdout] | [INFO] [stdout] 103 | std::mem::swap(&mut v, &mut std::mem::uninitialized()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: references must be non-null [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:147:24 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ -- -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 147 | pub fn values<'a>(&'a self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/object_pool.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ^^ ------ -- the lifetimes get resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 155 | pub fn values_mut<'a>(&'a mut self) -> impl DoubleEndedIterator + 'a { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn iter(&self) -> AttributeLayoutIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/video/assets/shader.rs:463:17 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values, (String, UniformVariableType)> { [INFO] [stdout] | ^^^^^ ----------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 463 | pub fn iter(&self) -> Values<'_, HashValue, (String, UniformVariableType)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/video/errors.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 2 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:236:27 [INFO] [stdout] | [INFO] [stdout] 236 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `i32` does not permit being left uninitialized [INFO] [stdout] --> src/video/backends/gl/capabilities.rs:321:27 [INFO] [stdout] | [INFO] [stdout] 321 | let mut val = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/res/manifest.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn dependencies(&self, uuid: Uuid) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/sched/job.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Copy, Clone, Debug, PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 48 | execute_fn: unsafe fn(*const ()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.69s [INFO] running `Command { std: "docker" "inspect" "ff275720fa007710af83b7a86f7c0e6a8efe1ef322806e4784a57f22f5c5f089", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff275720fa007710af83b7a86f7c0e6a8efe1ef322806e4784a57f22f5c5f089", kill_on_drop: false }` [INFO] [stdout] ff275720fa007710af83b7a86f7c0e6a8efe1ef322806e4784a57f22f5c5f089