[INFO] fetching crate duku 0.2.1... [INFO] testing duku-0.2.1 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate duku 0.2.1 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate duku 0.2.1 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate duku 0.2.1 [INFO] tweaked toml for crates.io crate duku 0.2.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate duku 0.2.1 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate duku 0.2.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1effb1807db579e6dcaa8cde4c1332e64f8b05a5b87e839bf0c8baaddc5b6e30 [INFO] running `Command { std: "docker" "start" "-a" "1effb1807db579e6dcaa8cde4c1332e64f8b05a5b87e839bf0c8baaddc5b6e30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1effb1807db579e6dcaa8cde4c1332e64f8b05a5b87e839bf0c8baaddc5b6e30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1effb1807db579e6dcaa8cde4c1332e64f8b05a5b87e839bf0c8baaddc5b6e30", kill_on_drop: false }` [INFO] [stdout] 1effb1807db579e6dcaa8cde4c1332e64f8b05a5b87e839bf0c8baaddc5b6e30 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] df6b271fb1bcf08a9a16f47a207936c1a21e4d1e97e1b638e44e8b8a78f15cf1 [INFO] running `Command { std: "docker" "start" "-a" "df6b271fb1bcf08a9a16f47a207936c1a21e4d1e97e1b638e44e8b8a78f15cf1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.76 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling xml-rs v0.8.3 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling smallvec v1.4.2 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling once_cell v1.4.1 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling libloading v0.6.4 [INFO] [stderr] Compiling ttf-parser v0.6.2 [INFO] [stderr] Compiling scoped-tls v1.0.0 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling instant v0.1.7 [INFO] [stderr] Compiling xdg v2.2.0 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Compiling slab v0.4.2 [INFO] [stderr] Compiling lock_api v0.4.1 [INFO] [stderr] Compiling winit v0.23.0 [INFO] [stderr] Compiling wayland-sys v0.28.1 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling duku v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling owned_ttf_parser v0.6.0 [INFO] [stderr] Compiling rusttype v0.9.2 [INFO] [stderr] Compiling wayland-scanner v0.28.1 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling line_drawing v0.8.0 [INFO] [stderr] Compiling andrew v0.3.0 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.35 [INFO] [stderr] Compiling parking_lot_core v0.8.0 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling raw-window-handle v0.3.3 [INFO] [stderr] Compiling parking_lot v0.11.0 [INFO] [stderr] Compiling xcursor v0.3.2 [INFO] [stderr] Compiling mio v0.6.22 [INFO] [stderr] Compiling wayland-client v0.28.1 [INFO] [stderr] Compiling wayland-protocols v0.28.1 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling wayland-commons v0.28.1 [INFO] [stderr] Compiling calloop v0.6.5 [INFO] [stderr] Compiling wayland-cursor v0.28.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.12.0 [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | let size = mem::size_of::() * len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | unused_qualifications, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 27 - let size = mem::size_of::() * len; [INFO] [stdout] 27 + let size = size_of::() * len; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | let size = mem::size_of::() * data.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 56 - let size = mem::size_of::() * data.len(); [INFO] [stdout] 56 + let size = size_of::() * data.len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | let size = mem::size_of::() * len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 93 - let size = mem::size_of::() * len; [INFO] [stdout] 93 + let size = size_of::() * len; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | let size = mem::size_of::() * data.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 116 - let size = mem::size_of::() * data.len(); [INFO] [stdout] 116 + let size = size_of::() * data.len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | self.size / mem::size_of::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 135 - self.size / mem::size_of::() [INFO] [stdout] 135 + self.size / size_of::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/device/commands.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | mem::size_of::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 271 - mem::size_of::(), [INFO] [stdout] 271 + size_of::(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | stride: mem::size_of::() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 28 - stride: mem::size_of::() as u32, [INFO] [stdout] 28 + stride: size_of::() as u32, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 36 - offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stdout] 36 + offsets[1] = offsets[0] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 37 - offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stdout] 37 + offsets[2] = offsets[1] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:38:35 [INFO] [stdout] | [INFO] [stdout] 38 | offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 38 - offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stdout] 38 + offsets[3] = offsets[2] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 39 - offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stdout] 39 + offsets[4] = offsets[3] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 40 - offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stdout] 40 + offsets[5] = offsets[4] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/pipeline/uniforms.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | size: mem::size_of::() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 181 - size: mem::size_of::() as u32, [INFO] [stdout] 181 + size: size_of::() as u32, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/device/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut features: &mut [vk::PhysicalDeviceFeatures] = unsafe { &mut [mem::zeroed()] }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `vk::allocate_command_buffers` that must be used [INFO] [stdout] --> src/device/commands.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | unsafe { vk::allocate_command_buffers(device, &buffer_info, &mut buffer) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | unsafe { let _ = vk::allocate_command_buffers(device, &buffer_info, &mut buffer); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.45s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "df6b271fb1bcf08a9a16f47a207936c1a21e4d1e97e1b638e44e8b8a78f15cf1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "df6b271fb1bcf08a9a16f47a207936c1a21e4d1e97e1b638e44e8b8a78f15cf1", kill_on_drop: false }` [INFO] [stdout] df6b271fb1bcf08a9a16f47a207936c1a21e4d1e97e1b638e44e8b8a78f15cf1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bb1c14a9abdb89e95de44d563896f596e1f40cfdfda8411b83976866752a1325 [INFO] running `Command { std: "docker" "start" "-a" "bb1c14a9abdb89e95de44d563896f596e1f40cfdfda8411b83976866752a1325", kill_on_drop: false }` [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | let size = mem::size_of::() * len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | unused_qualifications, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 27 - let size = mem::size_of::() * len; [INFO] [stdout] 27 + let size = size_of::() * len; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | let size = mem::size_of::() * data.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 56 - let size = mem::size_of::() * data.len(); [INFO] [stdout] 56 + let size = size_of::() * data.len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | let size = mem::size_of::() * len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 93 - let size = mem::size_of::() * len; [INFO] [stdout] 93 + let size = size_of::() * len; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | let size = mem::size_of::() * data.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 116 - let size = mem::size_of::() * data.len(); [INFO] [stdout] 116 + let size = size_of::() * data.len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | self.size / mem::size_of::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 135 - self.size / mem::size_of::() [INFO] [stdout] 135 + self.size / size_of::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/device/commands.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | mem::size_of::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 271 - mem::size_of::(), [INFO] [stdout] 271 + size_of::(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | stride: mem::size_of::() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 28 - stride: mem::size_of::() as u32, [INFO] [stdout] 28 + stride: size_of::() as u32, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 36 - offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stdout] 36 + offsets[1] = offsets[0] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 37 - offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stdout] 37 + offsets[2] = offsets[1] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:38:35 [INFO] [stdout] | [INFO] [stdout] 38 | offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 38 - offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stdout] 38 + offsets[3] = offsets[2] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 39 - offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stdout] 39 + offsets[4] = offsets[3] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 40 - offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stdout] 40 + offsets[5] = offsets[4] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/pipeline/uniforms.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | size: mem::size_of::() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 181 - size: mem::size_of::() as u32, [INFO] [stdout] 181 + size: size_of::() as u32, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/device/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut features: &mut [vk::PhysicalDeviceFeatures] = unsafe { &mut [mem::zeroed()] }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `vk::allocate_command_buffers` that must be used [INFO] [stdout] --> src/device/commands.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | unsafe { vk::allocate_command_buffers(device, &buffer_info, &mut buffer) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | unsafe { let _ = vk::allocate_command_buffers(device, &buffer_info, &mut buffer); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling duku v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | let size = mem::size_of::() * len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | unused_qualifications, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 27 - let size = mem::size_of::() * len; [INFO] [stdout] 27 + let size = size_of::() * len; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | let size = mem::size_of::() * data.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 56 - let size = mem::size_of::() * data.len(); [INFO] [stdout] 56 + let size = size_of::() * data.len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | let size = mem::size_of::() * len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 93 - let size = mem::size_of::() * len; [INFO] [stdout] 93 + let size = size_of::() * len; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | let size = mem::size_of::() * data.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 116 - let size = mem::size_of::() * data.len(); [INFO] [stdout] 116 + let size = size_of::() * data.len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/buffer/mod.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | self.size / mem::size_of::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 135 - self.size / mem::size_of::() [INFO] [stdout] 135 + self.size / size_of::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/device/commands.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | mem::size_of::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 271 - mem::size_of::(), [INFO] [stdout] 271 + size_of::(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | stride: mem::size_of::() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 28 - stride: mem::size_of::() as u32, [INFO] [stdout] 28 + stride: size_of::() as u32, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 36 - offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stdout] 36 + offsets[1] = offsets[0] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 37 - offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stdout] 37 + offsets[2] = offsets[1] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:38:35 [INFO] [stdout] | [INFO] [stdout] 38 | offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 38 - offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stdout] 38 + offsets[3] = offsets[2] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 39 - offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stdout] 39 + offsets[4] = offsets[3] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/mesh/vertex.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 40 - offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stdout] 40 + offsets[5] = offsets[4] + size_of::() as u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/pipeline/uniforms.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | size: mem::size_of::() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 181 - size: mem::size_of::() as u32, [INFO] [stdout] 181 + size: size_of::() as u32, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/device/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut features: &mut [vk::PhysicalDeviceFeatures] = unsafe { &mut [mem::zeroed()] }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `vk::allocate_command_buffers` that must be used [INFO] [stdout] --> src/device/commands.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | unsafe { vk::allocate_command_buffers(device, &buffer_info, &mut buffer) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | unsafe { let _ = vk::allocate_command_buffers(device, &buffer_info, &mut buffer); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.81s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "bb1c14a9abdb89e95de44d563896f596e1f40cfdfda8411b83976866752a1325", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb1c14a9abdb89e95de44d563896f596e1f40cfdfda8411b83976866752a1325", kill_on_drop: false }` [INFO] [stdout] bb1c14a9abdb89e95de44d563896f596e1f40cfdfda8411b83976866752a1325 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a6852aa1854f5298b1f9bf99fdf6b8dc884db45dd3444abc1bf0a6de1a5b1cf9 [INFO] running `Command { std: "docker" "start" "-a" "a6852aa1854f5298b1f9bf99fdf6b8dc884db45dd3444abc1bf0a6de1a5b1cf9", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/buffer/mod.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | let size = mem::size_of::() * len; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | unused_qualifications, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 27 - let size = mem::size_of::() * len; [INFO] [stderr] 27 + let size = size_of::() * len; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/buffer/mod.rs:56:20 [INFO] [stderr] | [INFO] [stderr] 56 | let size = mem::size_of::() * data.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 56 - let size = mem::size_of::() * data.len(); [INFO] [stderr] 56 + let size = size_of::() * data.len(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/buffer/mod.rs:93:20 [INFO] [stderr] | [INFO] [stderr] 93 | let size = mem::size_of::() * len; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 93 - let size = mem::size_of::() * len; [INFO] [stderr] 93 + let size = size_of::() * len; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/buffer/mod.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | let size = mem::size_of::() * data.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 116 - let size = mem::size_of::() * data.len(); [INFO] [stderr] 116 + let size = size_of::() * data.len(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/buffer/mod.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | self.size / mem::size_of::() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 135 - self.size / mem::size_of::() [INFO] [stderr] 135 + self.size / size_of::() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/device/commands.rs:271:17 [INFO] [stderr] | [INFO] [stderr] 271 | mem::size_of::(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 271 - mem::size_of::(), [INFO] [stderr] 271 + size_of::(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/mesh/vertex.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | stride: mem::size_of::() as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 28 - stride: mem::size_of::() as u32, [INFO] [stderr] 28 + stride: size_of::() as u32, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/mesh/vertex.rs:36:35 [INFO] [stderr] | [INFO] [stderr] 36 | offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 36 - offsets[1] = offsets[0] + mem::size_of::() as u32; [INFO] [stderr] 36 + offsets[1] = offsets[0] + size_of::() as u32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/mesh/vertex.rs:37:35 [INFO] [stderr] | [INFO] [stderr] 37 | offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 37 - offsets[2] = offsets[1] + mem::size_of::() as u32; [INFO] [stderr] 37 + offsets[2] = offsets[1] + size_of::() as u32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/mesh/vertex.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 38 - offsets[3] = offsets[2] + mem::size_of::() as u32; [INFO] [stderr] 38 + offsets[3] = offsets[2] + size_of::() as u32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/mesh/vertex.rs:39:35 [INFO] [stderr] | [INFO] [stderr] 39 | offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 39 - offsets[4] = offsets[3] + mem::size_of::() as u32; [INFO] [stderr] 39 + offsets[4] = offsets[3] + size_of::() as u32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/mesh/vertex.rs:40:35 [INFO] [stderr] | [INFO] [stderr] 40 | offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 40 - offsets[5] = offsets[4] + mem::size_of::() as u32; [INFO] [stderr] 40 + offsets[5] = offsets[4] + size_of::() as u32; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/pipeline/uniforms.rs:181:19 [INFO] [stderr] | [INFO] [stderr] 181 | size: mem::size_of::() as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 181 - size: mem::size_of::() as u32, [INFO] [stderr] 181 + size: size_of::() as u32, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/device/mod.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | let mut features: &mut [vk::PhysicalDeviceFeatures] = unsafe { &mut [mem::zeroed()] }; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | unused, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]` [INFO] [stderr] [INFO] [stderr] warning: unused return value of `vk::allocate_command_buffers` that must be used [INFO] [stderr] --> src/device/commands.rs:99:18 [INFO] [stderr] | [INFO] [stderr] 99 | unsafe { vk::allocate_command_buffers(device, &buffer_info, &mut buffer) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` implied by `#[warn(unused)]` [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 99 | unsafe { let _ = vk::allocate_command_buffers(device, &buffer_info, &mut buffer); }; [INFO] [stdout] running 62 tests [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: `duku` (lib) generated 15 warnings (run `cargo fix --lib -p duku` to apply 14 suggestions) [INFO] [stderr] warning: `duku` (lib test) generated 15 warnings (15 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/duku-765c7bc87153eafe) [INFO] [stdout] test color::hsb::tests::from_rgb ... ok [INFO] [stdout] test color::mix::tests::simple_mix ... ok [INFO] [stdout] test color::rgb::tests::from_hex ... ok [INFO] [stdout] test color::rgbf::tests::from_hsb ... ok [INFO] [stdout] test color::rgb::tests::from_hsb ... ok [INFO] [stdout] test color::rgbf::tests::from_rgb ... ok [INFO] [stdout] test color::rgb::tests::from_rgbf ... ok [INFO] [stdout] test math::mat4::test::axis_rotation ... ok [INFO] [stdout] test math::mat4::test::columns ... ok [INFO] [stdout] test math::mat4::test::compose ... ok [INFO] [stdout] test math::mat4::test::euler_rotation_x ... ok [INFO] [stdout] test math::mat4::test::euler_rotation_z ... ok [INFO] [stdout] test math::mat4::test::euler_rotation_y ... ok [INFO] [stdout] test math::mat4::test::from_quaternion ... ok [INFO] [stdout] test math::mat4::test::identity ... ok [INFO] [stdout] test math::mat4::test::inverse ... ok [INFO] [stdout] test math::mat4::test::look_rotation_z ... ok [INFO] [stdout] test math::mat4::test::mul_with_self ... ok [INFO] [stdout] test math::mat4::test::orthographic ... ok [INFO] [stdout] test math::mat4::test::mul_with_vector ... ok [INFO] [stdout] test math::mat4::test::rows ... ok [INFO] [stdout] test math::mat4::test::perspective ... ok [INFO] [stdout] test math::mat4::test::scale ... ok [INFO] [stdout] test math::mat4::test::look_rotation_y ... ok [INFO] [stdout] test math::mat4::test::projection ... ok [INFO] [stdout] test math::quat::test::axis_rotation ... ok [INFO] [stdout] test math::quat::test::look_rotation_y ... ok [INFO] [stdout] test math::mat4::test::look_rotation_x ... ok [INFO] [stdout] test math::quat::test::default ... ok [INFO] [stdout] test math::vec2::test::angle_between ... ok [INFO] [stdout] test math::quat::test::mul_self ... ok [INFO] [stdout] test math::quat::test::mul_vector ... ok [INFO] [stdout] test math::quat::test::euler_rotation_x ... ok [INFO] [stdout] test math::quat::test::euler_rotation_y ... ok [INFO] [stdout] test math::quat::test::euler_rotation_z ... ok [INFO] [stdout] test math::mat4::test::translation ... ok [INFO] [stdout] test math::quat::test::look_rotation_z ... ok [INFO] [stdout] test math::quat::test::quat_to_mat_to_quat ... ok [INFO] [stdout] test math::vec2::test::default ... ok [INFO] [stdout] test math::vec2::test::dot ... ok [INFO] [stdout] test math::vec2::test::length ... ok [INFO] [stdout] test math::quat::test::look_rotation_x ... ok [INFO] [stdout] test color::hsb::tests::from_rgbf ... ok [INFO] [stdout] test math::vec2::test::new ... ok [INFO] [stdout] test math::vec2::test::normal ... ok [INFO] [stdout] test math::vec2::test::operators ... ok [INFO] [stdout] test math::vec2::test::sqr_length ... ok [INFO] [stdout] test math::vec2::test::unit ... ok [INFO] [stdout] test math::vec3::test::angle_between ... ok [INFO] [stdout] test math::vec3::test::cross ... ok [INFO] [stdout] test math::vec3::test::default ... ok [INFO] [stdout] test math::vec3::test::direction ... ok [INFO] [stdout] test math::vec3::test::dot ... ok [INFO] [stdout] test math::vec3::test::length ... ok [INFO] [stdout] test math::vec3::test::new ... ok [INFO] [stdout] test math::vec3::test::operator ... ok [INFO] [stdout] test math::vec3::test::unit ... ok [INFO] [stdout] test math::vec3::test::xy ... ok [INFO] [stdout] test math::vec4::test::default ... ok [INFO] [stdout] test math::vec4::test::dot ... ok [INFO] [stdout] test math::vec4::test::new ... ok [INFO] [stdout] test math::vec4::test::operator ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests duku [INFO] [stderr] warning: lint `missing_doc_code_examples` has been renamed to `rustdoc::missing_doc_code_examples` [INFO] [stderr] --> src/lib.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | missing_doc_code_examples, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `rustdoc::missing_doc_code_examples` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unknown lint: `rustdoc::missing_doc_code_examples` [INFO] [stderr] --> src/lib.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | missing_doc_code_examples, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the `rustdoc::missing_doc_code_examples` lint is unstable [INFO] [stderr] = note: see issue #101730 for more information [INFO] [stderr] = help: add `#![feature(rustdoc_missing_doc_code_examples)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2025-08-13; consider upgrading it if it is out of date [INFO] [stderr] = note: `#[warn(unknown_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test src/device/stats.rs - device::stats::Stats (line 12) - compile ... ok [INFO] [stdout] test src/duku.rs - duku::Duku::draw (line 118) - compile ... ok [INFO] [stdout] test src/duku.rs - duku::Duku (line 50) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 10) - compile ... ok [INFO] [stdout] test src/image/canvas.rs - image::canvas::Canvas (line 29) - compile ... ok [INFO] [stdout] test src/duku.rs - duku::Duku::draw_on_canvas (line 150) - compile ... ok [INFO] [stdout] test src/math/vec2.rs - math::vec2::Vec2 (line 22) - compile ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb::darken (line 89) ... ok [INFO] [stdout] test src/color/rgb.rs - color::rgb::Rgb (line 15) ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb (line 19) ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb::alpha (line 57) ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb::shift (line 74) ... ok [INFO] [stdout] test src/mesh/mod.rs - mesh::Mesh (line 26) - compile ... ok [INFO] [stdout] test src/pipeline/material.rs - pipeline::material::Material (line 21) - compile ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb::desaturate (line 134) ... ok [INFO] [stdout] test src/color/rgb.rs - color::rgb::Rgb::alpha (line 74) ... ok [INFO] [stdout] test src/math/vec3.rs - math::vec3::Vec3 (line 26) - compile ... ok [INFO] [stdout] test src/renderer/light.rs - renderer::light::Light (line 14) - compile ... ok [INFO] [stdout] test src/pipeline/shader.rs - pipeline::shader::Shader (line 28) - compile ... ok [INFO] [stdout] test src/renderer/camera.rs - renderer::camera::Camera (line 12) - compile ... ok [INFO] [stdout] test src/color/rgbf.rs - color::rgbf::Rgbf::alpha (line 70) ... ok [INFO] [stdout] test src/color/gradient.rs - color::gradient::Gradient (line 12) ... ok [INFO] [stdout] test src/color/rgbf.rs - color::rgbf::Rgbf (line 15) ... ok [INFO] [stdout] test src/math/vec2.rs - math::vec2::Vec2::angle_between (line 114) ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb::saturate (line 119) ... ok [INFO] [stdout] test src/math/vec3.rs - math::vec3::Vec3::angle_between (line 135) ... ok [INFO] [stdout] test src/math/mat4.rs - math::mat4::Mat4 (line 21) ... ok [INFO] [stdout] test src/color/hsb.rs - color::hsb::Hsb::brighten (line 104) ... ok [INFO] [stdout] test src/math/quat.rs - math::quat::Quat (line 16) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.33s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a6852aa1854f5298b1f9bf99fdf6b8dc884db45dd3444abc1bf0a6de1a5b1cf9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6852aa1854f5298b1f9bf99fdf6b8dc884db45dd3444abc1bf0a6de1a5b1cf9", kill_on_drop: false }` [INFO] [stdout] a6852aa1854f5298b1f9bf99fdf6b8dc884db45dd3444abc1bf0a6de1a5b1cf9