[INFO] fetching crate kronos-compute 0.2.3-rc3...
[INFO] testing kronos-compute-0.2.3-rc3 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate kronos-compute 0.2.3-rc3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate kronos-compute 0.2.3-rc3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate kronos-compute 0.2.3-rc3
[INFO] tweaked toml for crates.io crate kronos-compute 0.2.3-rc3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kronos-compute 0.2.3-rc3 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kronos-compute 0.2.3-rc3 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 694813e24f9cd40330ea34b6c15e25373e9c25756a29f83d459d1f278e2fc948
[INFO] running `Command { std: "docker" "start" "-a" "694813e24f9cd40330ea34b6c15e25373e9c25756a29f83d459d1f278e2fc948", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "694813e24f9cd40330ea34b6c15e25373e9c25756a29f83d459d1f278e2fc948", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "694813e24f9cd40330ea34b6c15e25373e9c25756a29f83d459d1f278e2fc948", kill_on_drop: false }`
[INFO] [stdout] 694813e24f9cd40330ea34b6c15e25373e9c25756a29f83d459d1f278e2fc948
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b76ac249eae1e0d461909b825519b8715f4e9bd25e5c7477ab5d47b3a79784f
[INFO] running `Command { std: "docker" "start" "-a" "1b76ac249eae1e0d461909b825519b8715f4e9bd25e5c7477ab5d47b3a79784f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling kronos-compute v0.2.3-rc3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stdout] warning: unused import: `vkDestroyDescriptorPool`
[INFO] [stdout]   --> src/api/context.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     vkCreateDescriptorPool, vkDestroyDescriptorPool,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::warn`
[INFO] [stdout]  --> src/implementation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::warn;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/instance.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/device.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/memory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/buffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/descriptor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 VkPhysicalDeviceType::DiscreteGpu => 0,
[INFO] [stdout]     |                 --------------------------------- matches some of the same values
[INFO] [stdout] 257 |                 VkPhysicalDeviceType::IntegratedGpu => 1,
[INFO] [stdout]     |                 ----------------------------------- matches some of the same values
[INFO] [stdout] 258 |                 VkPhysicalDeviceType::VirtualGpu => 2,
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] 259 |                 VkPhysicalDeviceType::Cpu => 3,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 260 |                 VkPhysicalDeviceType::Other => 4,
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `waitAll`
[INFO] [stdout]   --> src/implementation/sync.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     waitAll: VkBool32,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waitAll`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/implementation/sync.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     timeout: u64,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `physical_device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/api/context.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) struct ContextInner {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 23 |     pub(super) instance: VkInstance,
[INFO] [stdout] 24 |     pub(super) physical_device: VkPhysicalDevice,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub(super) queue_family_index: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_descriptor_pool` is never used
[INFO] [stdout]    --> src/api/context.rs:379:15
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl ComputeContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 379 |     unsafe fn create_descriptor_pool(device: VkDevice) -> Result<VkDescriptorPool> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_info` and `enabled_extensions` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct InstanceData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 20 |     app_info: ApplicationInfo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     enabled_extensions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_name`, `app_version`, `engine_name`, and `engine_version` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct ApplicationInfo {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 25 |     app_name: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     app_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     engine_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     engine_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `physical_device` is never read
[INFO] [stdout]   --> src/implementation/device.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct DeviceData {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 20 |     physical_device: VkPhysicalDevice,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `memory_type_index` are never read
[INFO] [stdout]   --> src/implementation/memory.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct MemoryData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     memory_type_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `usage`, and `sharing_mode` are never read
[INFO] [stdout]   --> src/implementation/buffer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct BufferData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     usage: VkBufferUsageFlags,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     sharing_mode: VkSharingMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `spirv` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ShaderData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 28 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     spirv: Vec<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `layout`, and `shader` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct PipelineData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 33 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     layout: VkPipelineLayout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     shader: VkShaderModule,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `set_layouts` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct PipelineLayoutData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 39 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     set_layouts: Vec<VkDescriptorSetLayout>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct CommandPoolData {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 44 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     queue_family_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pool` and `level` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CommandBufferData {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 50 |     pool: VkCommandPool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     level: VkCommandBufferLevel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `bindings` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct DescriptorSetLayoutData {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 22 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     bindings: Vec<VkDescriptorSetLayoutBinding>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `max_sets` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct DescriptorPoolData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 27 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     max_sets: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct FenceData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 24 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `signaled` are never read
[INFO] [stdout]   --> src/implementation/sync.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct SemaphoreData {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 29 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     signaled: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct EventData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 34 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkShaderStageFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/pipeline.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |     _stageFlags: VkShaderStageFlags,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | / bitflags! {
[INFO] [stdout]  64 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]  65 | |     pub struct VkShaderStageFlags: VkFlags {
[INFO] [stdout]  66 | |         const COMPUTE = 0x00000020;
[INFO] [stdout] ...   |
[INFO] [stdout]  69 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkDescriptorPoolResetFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/descriptor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |     _flags: VkDescriptorPoolResetFlags,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | / bitflags! {
[INFO] [stdout] 118 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout] 119 | |     pub struct VkDescriptorPoolResetFlags: VkFlags {
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.65s
[INFO] running `Command { std: "docker" "inspect" "1b76ac249eae1e0d461909b825519b8715f4e9bd25e5c7477ab5d47b3a79784f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b76ac249eae1e0d461909b825519b8715f4e9bd25e5c7477ab5d47b3a79784f", kill_on_drop: false }`
[INFO] [stdout] 1b76ac249eae1e0d461909b825519b8715f4e9bd25e5c7477ab5d47b3a79784f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ee4bf89825828e4f923660ef3aff57005a5450ad5fde78322fb4d4693797420c
[INFO] running `Command { std: "docker" "start" "-a" "ee4bf89825828e4f923660ef3aff57005a5450ad5fde78322fb4d4693797420c", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling kronos-compute v0.2.3-rc3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling half v2.2.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.44
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling clap v4.5.45
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stdout] warning: unused import: `vkDestroyDescriptorPool`
[INFO] [stdout]   --> src/api/context.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     vkCreateDescriptorPool, vkDestroyDescriptorPool,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::warn`
[INFO] [stdout]  --> src/implementation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::warn;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/instance.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/device.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/memory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/buffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/descriptor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 VkPhysicalDeviceType::DiscreteGpu => 0,
[INFO] [stdout]     |                 --------------------------------- matches some of the same values
[INFO] [stdout] 257 |                 VkPhysicalDeviceType::IntegratedGpu => 1,
[INFO] [stdout]     |                 ----------------------------------- matches some of the same values
[INFO] [stdout] 258 |                 VkPhysicalDeviceType::VirtualGpu => 2,
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] 259 |                 VkPhysicalDeviceType::Cpu => 3,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 260 |                 VkPhysicalDeviceType::Other => 4,
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `waitAll`
[INFO] [stdout]   --> src/implementation/sync.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     waitAll: VkBool32,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waitAll`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/implementation/sync.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     timeout: u64,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `physical_device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/api/context.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) struct ContextInner {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 23 |     pub(super) instance: VkInstance,
[INFO] [stdout] 24 |     pub(super) physical_device: VkPhysicalDevice,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub(super) queue_family_index: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_descriptor_pool` is never used
[INFO] [stdout]    --> src/api/context.rs:379:15
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl ComputeContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 379 |     unsafe fn create_descriptor_pool(device: VkDevice) -> Result<VkDescriptorPool> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_info` and `enabled_extensions` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct InstanceData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 20 |     app_info: ApplicationInfo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     enabled_extensions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_name`, `app_version`, `engine_name`, and `engine_version` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct ApplicationInfo {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 25 |     app_name: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     app_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     engine_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     engine_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `physical_device` is never read
[INFO] [stdout]   --> src/implementation/device.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct DeviceData {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 20 |     physical_device: VkPhysicalDevice,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `memory_type_index` are never read
[INFO] [stdout]   --> src/implementation/memory.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct MemoryData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     memory_type_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `usage`, and `sharing_mode` are never read
[INFO] [stdout]   --> src/implementation/buffer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct BufferData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     usage: VkBufferUsageFlags,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     sharing_mode: VkSharingMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `spirv` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ShaderData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 28 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     spirv: Vec<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `layout`, and `shader` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct PipelineData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 33 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     layout: VkPipelineLayout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     shader: VkShaderModule,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `set_layouts` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct PipelineLayoutData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 39 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     set_layouts: Vec<VkDescriptorSetLayout>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct CommandPoolData {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 44 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     queue_family_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pool` and `level` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CommandBufferData {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 50 |     pool: VkCommandPool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     level: VkCommandBufferLevel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `bindings` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct DescriptorSetLayoutData {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 22 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     bindings: Vec<VkDescriptorSetLayoutBinding>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `max_sets` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct DescriptorPoolData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 27 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     max_sets: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct FenceData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 24 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `signaled` are never read
[INFO] [stdout]   --> src/implementation/sync.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct SemaphoreData {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 29 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     signaled: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct EventData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 34 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkShaderStageFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/pipeline.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |     _stageFlags: VkShaderStageFlags,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | / bitflags! {
[INFO] [stdout]  64 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]  65 | |     pub struct VkShaderStageFlags: VkFlags {
[INFO] [stdout]  66 | |         const COMPUTE = 0x00000020;
[INFO] [stdout] ...   |
[INFO] [stdout]  69 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkDescriptorPoolResetFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/descriptor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |     _flags: VkDescriptorPoolResetFlags,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | / bitflags! {
[INFO] [stdout] 118 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout] 119 | |     pub struct VkDescriptorPoolResetFlags: VkFlags {
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kronos_compute::implementation::*`
[INFO] [stdout]  --> examples/test_icd.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kronos_compute::implementation::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> examples/test_icd.rs:27:65
[INFO] [stdout]    |
[INFO] [stdout] 27 |             pApplicationName: CString::new("ICD Test").unwrap().as_ptr(),
[INFO] [stdout]    |                               --------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> examples/test_icd.rs:29:58
[INFO] [stdout]    |
[INFO] [stdout] 29 |             pEngineName: CString::new("Kronos").unwrap().as_ptr(),
[INFO] [stdout]    |                          ------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kronos_compute::ffi::*`
[INFO] [stdout]  --> examples/descriptor_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kronos_compute::ffi::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/aggregated_mode_test.rs:15:49
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = kronos_compute::implementation::icd_loader::initialize_icd_loader();
[INFO] [stdout]    |                                                 ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/aggregated_mode_test.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let all_icds = kronos_compute::implementation::icd_loader::get_all_icds();
[INFO] [stdout]    |                                                        ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "aggregated_mode_test") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `prefer_icd_path` found for struct `kronos_compute::api::ContextBuilder` in the current scope
[INFO] [stdout]   --> examples/test_safe_api_amd.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |       match ComputeContext::builder()
[INFO] [stdout]    |  ___________-
[INFO] [stdout] 15 | |         .app_name("AMD Test")
[INFO] [stdout] 16 | |         .prefer_icd_path("/usr/lib/x86_64-linux-gnu/libvulkan_radeon.so")
[INFO] [stdout]    | |         -^^^^^^^^^^^^^^^ method not found in `kronos_compute::api::ContextBuilder`
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/test_safe_api_amd.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |             if let Some(info) = ctx.icd_info() {
[INFO] [stdout]    |                                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kronos_compute::ffi::*`
[INFO] [stdout]  --> examples/sync_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kronos_compute::ffi::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> examples/test_icd_loading.rs:21:57
[INFO] [stdout]    |
[INFO] [stdout] 21 |     if let Some(info) = kronos_compute::implementation::icd_loader::selected_icd_info() {
[INFO] [stdout]    |                                                         ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkBufferUsageFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/descriptor_test.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |         pCreateInfo: *const VkBufferCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (example "test_icd_loading") due to 1 previous error
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkShaderStageFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/descriptor_test.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |         pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkDescriptorPoolCreateFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/descriptor_test.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |         pCreateInfo: *const VkDescriptorPoolCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `VK_MAKE_VERSION` should have a snake case name
[INFO] [stdout]    --> examples/descriptor_test.rs:404:10
[INFO] [stdout]     |
[INFO] [stdout] 404 | const fn VK_MAKE_VERSION(major: u32, minor: u32, patch: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vk_make_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (example "test_safe_api_amd") due to 2 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/thread_safety_test.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 |             let icds = kronos_compute::implementation::icd_loader::available_icds();
[INFO] [stdout]    |                                                        ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/thread_safety_test.rs:36:62
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let icds_after = kronos_compute::implementation::icd_loader::available_icds();
[INFO] [stdout]    |                                                              ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/thread_safety_test.rs:47:54
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let final_icds = kronos_compute::implementation::icd_loader::available_icds();
[INFO] [stdout]    |                                                      ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/thread_safety_test.rs:62:60
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let icds = kronos_compute::implementation::icd_loader::available_icds();
[INFO] [stdout]    |                                                            ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> tests/thread_safety_test.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{sync::Arc, thread, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> examples/sync_test.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 344 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `persistent_descriptors` in `implementation`
[INFO] [stdout]   --> tests/perf_counters.rs:34:53
[INFO] [stdout]    |
[INFO] [stdout] 34 |         if let Ok(descriptor_set) = implementation::persistent_descriptors::get_persistent_descriptor_set(device, &buffers) {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^ could not find `persistent_descriptors` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `barrier_policy` in `implementation`
[INFO] [stdout]   --> tests/perf_counters.rs:56:38
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let vendor = implementation::barrier_policy::GpuVendor::NVIDIA;
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^ could not find `barrier_policy` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkFenceCreateFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/sync_test.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pCreateInfo: *const VkFenceCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `VK_MAKE_VERSION` should have a snake case name
[INFO] [stdout]    --> examples/sync_test.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | const fn VK_MAKE_VERSION(major: u32, minor: u32, patch: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vk_make_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `barrier_policy` in `implementation`
[INFO] [stdout]   --> tests/perf_counters.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut tracker = implementation::barrier_policy::BarrierTracker::new(vendor);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^ could not find `barrier_policy` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> tests/perf_counters.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> tests/perf_counters.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> examples/benchmark_comparison.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn benchmark_operation<F>(name: &str, iterations: u32, mut op: F) -> Duration
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/perf_counters.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> tests/perf_counters.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let device = VkDevice::NULL;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physical_device`
[INFO] [stdout]    --> tests/perf_counters.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let physical_device = VkPhysicalDevice::NULL;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physical_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/perf_counters.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]    --> tests/perf_counters.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let queue = VkQueue::NULL;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "perf_counters") due to 3 previous errors; 7 warnings emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "thread_safety_test") due to 4 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "ee4bf89825828e4f923660ef3aff57005a5450ad5fde78322fb4d4693797420c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee4bf89825828e4f923660ef3aff57005a5450ad5fde78322fb4d4693797420c", kill_on_drop: false }`
[INFO] [stdout] ee4bf89825828e4f923660ef3aff57005a5450ad5fde78322fb4d4693797420c
