[INFO] fetching crate wgsl_to_wgpu 0.16.0... [INFO] testing wgsl_to_wgpu-0.16.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] extracting crate wgsl_to_wgpu 0.16.0 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate wgsl_to_wgpu 0.16.0 [INFO] finished tweaking crates.io crate wgsl_to_wgpu 0.16.0 [INFO] tweaked toml for crates.io crate wgsl_to_wgpu 0.16.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate wgsl_to_wgpu 0.16.0 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 wgsl_to_wgpu 0.16.0 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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 45cbaf7e6aeb2ebc075370e54d9d4be557c4845697ac363b2bc6d1269ba023cd [INFO] running `Command { std: "docker" "start" "-a" "45cbaf7e6aeb2ebc075370e54d9d4be557c4845697ac363b2bc6d1269ba023cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "45cbaf7e6aeb2ebc075370e54d9d4be557c4845697ac363b2bc6d1269ba023cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45cbaf7e6aeb2ebc075370e54d9d4be557c4845697ac363b2bc6d1269ba023cd", kill_on_drop: false }` [INFO] [stdout] 45cbaf7e6aeb2ebc075370e54d9d4be557c4845697ac363b2bc6d1269ba023cd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 7876eab0b3157516026dd3f5df8c1c80d8623de0db8677d093e9c7bcf4e781e9 [INFO] running `Command { std: "docker" "start" "-a" "7876eab0b3157516026dd3f5df8c1c80d8623de0db8677d093e9c7bcf4e781e9", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling naga v27.0.0 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling unicode-width v0.2.1 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling hexf-parse v0.2.1 [INFO] [stderr] Compiling case v1.0.0 [INFO] [stderr] Compiling codespan-reporting v0.12.0 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling wgpu-types v27.0.1 [INFO] [stderr] Compiling wgsl_to_wgpu v0.16.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.93s [INFO] running `Command { std: "docker" "inspect" "7876eab0b3157516026dd3f5df8c1c80d8623de0db8677d093e9c7bcf4e781e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7876eab0b3157516026dd3f5df8c1c80d8623de0db8677d093e9c7bcf4e781e9", kill_on_drop: false }` [INFO] [stdout] 7876eab0b3157516026dd3f5df8c1c80d8623de0db8677d093e9c7bcf4e781e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] ef40c2566f4dcbce55d7946759964ac3c9ad01ba8b4b759f603612747721f9dc [INFO] running `Command { std: "docker" "start" "-a" "ef40c2566f4dcbce55d7946759964ac3c9ad01ba8b4b759f603612747721f9dc", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling naga v27.0.0 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling insta v1.43.2 [INFO] [stderr] Compiling wgsl_to_wgpu v0.16.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `assert_tokens_snapshot` [INFO] [stdout] --> src/consts.rs:161:35 [INFO] [stdout] | [INFO] [stdout] 161 | use crate::{assert_tokens_eq, assert_tokens_snapshot, demangle_identity}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 28.98s [INFO] running `Command { std: "docker" "inspect" "ef40c2566f4dcbce55d7946759964ac3c9ad01ba8b4b759f603612747721f9dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef40c2566f4dcbce55d7946759964ac3c9ad01ba8b4b759f603612747721f9dc", kill_on_drop: false }` [INFO] [stdout] ef40c2566f4dcbce55d7946759964ac3c9ad01ba8b4b759f603612747721f9dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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", kill_on_drop: false }` [INFO] [stdout] f94ad523ac4bd49dd65069caa45536c76e763554b5d129715a7c1b67c0e2b43a [INFO] running `Command { std: "docker" "start" "-a" "f94ad523ac4bd49dd65069caa45536c76e763554b5d129715a7c1b67c0e2b43a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `assert_tokens_snapshot` [INFO] [stderr] --> src/consts.rs:161:35 [INFO] [stderr] | [INFO] [stderr] 161 | use crate::{assert_tokens_eq, assert_tokens_snapshot, demangle_identity}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `wgsl_to_wgpu` (lib test) generated 1 warning (run `cargo fix --lib -p wgsl_to_wgpu --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wgsl_to_wgpu-24f5aee47a8155f4) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test bindgroup::tests::bind_group_data_consecutive_bind_groups ... ok [INFO] [stdout] test bindgroup::tests::bind_group_data_non_consecutive_bind_groups ... ok [INFO] [stdout] test bindgroup::tests::bind_group_data_first_group_not_zero ... ok [INFO] [stdout] test bindgroup::tests::bind_groups_module_fragment ... FAILED [INFO] [stdout] test bindgroup::tests::bind_groups_module_compute ... FAILED [INFO] [stdout] test bindgroup::tests::bind_groups_module_vertex ... FAILED [INFO] [stdout] test bindgroup::tests::bind_groups_module_vertex_fragment ... FAILED [INFO] [stdout] test structs::tests::write_all_structs_bytemuck_input_layout_validation ... FAILED [INFO] [stdout] test structs::tests::write_all_structs_glam ... ok [INFO] [stdout] test consts::tests::write_pipeline_overrideable_constants_empty ... ok [INFO] [stdout] test structs::tests::write_all_structs_nalgebra ... ok [INFO] [stdout] test structs::tests::write_all_structs_rust ... ok [INFO] [stdout] test structs::tests::write_all_structs_bytemuck_f64_vec ... FAILED [INFO] [stdout] test structs::tests::write_runtime_sized_array_bytemuck_vertex - should panic ... ok [INFO] [stdout] test structs::tests::write_runtime_sized_array_no_encase - should panic ... ok [INFO] [stdout] test structs::tests::write_runtime_sized_array_not_last_field - should panic ... ok [INFO] [stdout] test structs::tests::write_runtime_sized_array_bytemuck_host_shareable - should panic ... ok [INFO] [stdout] test consts::tests::write_global_constants ... ok [INFO] [stdout] test test::create_shader_module_compute_overrides ... ok [INFO] [stdout] test test::create_shader_module_consecutive_bind_groups ... ok [INFO] [stdout] test test::create_shader_module_multiple_outputs ... ok [INFO] [stdout] test structs::tests::write_all_structs_serde_encase_bytemuck ... FAILED [INFO] [stdout] test test::create_shader_module_non_consecutive_bind_groups ... ok [INFO] [stdout] test test::create_shader_module_parse_error ... ok [INFO] [stdout] test test::create_shader_module_overrides ... ok [INFO] [stdout] test test::create_shader_module_repeated_bindings ... ok [INFO] [stdout] test test::create_shader_module_semantic_error ... ok [INFO] [stdout] test test::create_shader_modules_source ... ok [INFO] [stdout] test test::create_shader_module_push_constants ... ok [INFO] [stdout] test test::create_shader_multiple_entries ... ok [INFO] [stdout] test test::add_duplicate_module_different_paths ... FAILED [INFO] [stdout] test test::add_single_root_module ... FAILED [INFO] [stdout] test structs::tests::write_runtime_sized_array ... FAILED [INFO] [stdout] test structs::tests::write_all_structs_encase_bytemuck ... FAILED [INFO] [stdout] test test::create_shader_modules_source_rustfmt ... FAILED [INFO] [stdout] test structs::tests::write_all_structs_bytemuck_skip_input_layout_validation ... FAILED [INFO] [stdout] test structs::tests::write_all_structs_skip_stage_outputs ... FAILED [INFO] [stdout] test test::shader_stage_collection ... FAILED [INFO] [stdout] test test::single_root_module ... FAILED [INFO] [stdout] test test::vertex_entries ... FAILED [INFO] [stdout] test test::write_vertex_module_single_input_float32 ... FAILED [INFO] [stdout] test test::write_vertex_module_single_input_sint32 ... FAILED [INFO] [stdout] test test::write_vertex_module_single_input_float16 ... FAILED [INFO] [stdout] test test::write_vertex_module_single_input_float64 ... FAILED [INFO] [stdout] test test::write_vertex_module_single_input_uint32 ... FAILED [INFO] [stdout] test test::write_vertex_module_empty ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- bindgroup::tests::bind_groups_module_fragment stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/bind_groups_module_fragment.snap [INFO] [stdout] Snapshot: bind_groups_module_fragment [INFO] [stdout] Source: src/bindgroup.rs:653 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub transforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 7 │- } [INFO] [stdout] 8 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 9 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 10 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 11 │- binding: 0, [INFO] [stdout] 12 │- visibility: wgpu::ShaderStages::FRAGMENT, [INFO] [stdout] 13 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 14 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 15 │- has_dynamic_offset: false, [INFO] [stdout] 16 │- min_binding_size: None, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- count: None, [INFO] [stdout] 19 │- }], [INFO] [stdout] 20 │- }; [INFO] [stdout] 21 │- impl BindGroup0 { [INFO] [stdout] 22 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 23 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 24 │- } [INFO] [stdout] 25 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 26 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 27 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 28 │- layout: &bind_group_layout, [INFO] [stdout] 29 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 30 │- binding: 0, [INFO] [stdout] 31 │- resource: wgpu::BindingResource::Buffer(bindings.transforms), [INFO] [stdout] 32 │- }], [INFO] [stdout] 33 │- label: Some("BindGroup0"), [INFO] [stdout] 34 │- }); [INFO] [stdout] 35 │- Self(bind_group) [INFO] [stdout] 36 │- } [INFO] [stdout] 37 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 38 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 39 │- } [INFO] [stdout] 40 │- } [INFO] [stdout] 41 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 42 │- pub struct BindGroups<'a> { [INFO] [stdout] 43 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 44 │- } [INFO] [stdout] 45 │- impl BindGroups<'_> { [INFO] [stdout] 46 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 47 │- self.bind_group0.set(pass); [INFO] [stdout] 48 │- } [INFO] [stdout] 49 │- } [INFO] [stdout] 50 │- pub trait SetBindGroup { [INFO] [stdout] 51 │- fn set_bind_group( [INFO] [stdout] 52 │- &mut self, [INFO] [stdout] 53 │- index: u32, [INFO] [stdout] 54 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 55 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 56 │- ); [INFO] [stdout] 57 │- } [INFO] [stdout] 58 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 59 │- fn set_bind_group( [INFO] [stdout] 60 │- &mut self, [INFO] [stdout] 61 │- index: u32, [INFO] [stdout] 62 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 63 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 64 │- ) { [INFO] [stdout] 65 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 66 │- } [INFO] [stdout] 67 │- } [INFO] [stdout] 68 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 69 │- fn set_bind_group( [INFO] [stdout] 70 │- &mut self, [INFO] [stdout] 71 │- index: u32, [INFO] [stdout] 72 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 73 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 74 │- ) { [INFO] [stdout] 75 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 76 │- } [INFO] [stdout] 77 │- } [INFO] [stdout] 78 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 79 │- fn set_bind_group( [INFO] [stdout] 80 │- &mut self, [INFO] [stdout] 81 │- index: u32, [INFO] [stdout] 82 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 83 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 84 │- ) { [INFO] [stdout] 85 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 86 │- } [INFO] [stdout] 87 │- } [INFO] [stdout] 88 │-} [INFO] [stdout] 89 │-pub fn set_bind_groups( [INFO] [stdout] 90 │- pass: &mut P, [INFO] [stdout] 91 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 92 │-) { [INFO] [stdout] 93 │- bind_group0.set(pass); [INFO] [stdout] 94 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub transforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . transforms) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'bindgroup::tests::bind_groups_module_fragment' (21) panicked at src/bindgroup.rs:653:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/bind_groups_module_fragment.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f2969d - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f2969d - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_fragment::{{closure}}::h4c08c60b6d9dbfe0 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f50b14 - insta::settings::Settings::bind::h61b4567b8c91b5dc [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f291ab - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_fragment::h9b0834561c5217f0 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f29797 - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_fragment::{{closure}}::he9b553d226a52585 [INFO] [stdout] at /opt/rustwide/workdir/src/bindgroup.rs:650:37 [INFO] [stdout] 25: 0x5cf523f73d86 - core::ops::function::FnOnce::call_once::h5e0257239e66ef4f [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- bindgroup::tests::bind_groups_module_compute stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/bind_groups_module_compute.snap [INFO] [stdout] Snapshot: bind_groups_module_compute [INFO] [stdout] Source: src/bindgroup.rs:632 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub src: wgpu::BufferBinding<'a>, [INFO] [stdout] 7 │- pub vertex_weights: wgpu::BufferBinding<'a>, [INFO] [stdout] 8 │- pub dst: wgpu::BufferBinding<'a>, [INFO] [stdout] 9 │- } [INFO] [stdout] 10 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 11 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 12 │- entries: &[ [INFO] [stdout] 13 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 14 │- binding: 0, [INFO] [stdout] 15 │- visibility: wgpu::ShaderStages::COMPUTE, [INFO] [stdout] 16 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 17 │- ty: wgpu::BufferBindingType::Storage { read_only: true }, [INFO] [stdout] 18 │- has_dynamic_offset: false, [INFO] [stdout] 19 │- min_binding_size: None, [INFO] [stdout] 20 │- }, [INFO] [stdout] 21 │- count: None, [INFO] [stdout] 22 │- }, [INFO] [stdout] 23 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 24 │- binding: 1, [INFO] [stdout] 25 │- visibility: wgpu::ShaderStages::COMPUTE, [INFO] [stdout] 26 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 27 │- ty: wgpu::BufferBindingType::Storage { read_only: true }, [INFO] [stdout] 28 │- has_dynamic_offset: false, [INFO] [stdout] 29 │- min_binding_size: None, [INFO] [stdout] 30 │- }, [INFO] [stdout] 31 │- count: None, [INFO] [stdout] 32 │- }, [INFO] [stdout] 33 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 34 │- binding: 2, [INFO] [stdout] 35 │- visibility: wgpu::ShaderStages::COMPUTE, [INFO] [stdout] 36 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 37 │- ty: wgpu::BufferBindingType::Storage { read_only: false }, [INFO] [stdout] 38 │- has_dynamic_offset: false, [INFO] [stdout] 39 │- min_binding_size: None, [INFO] [stdout] 40 │- }, [INFO] [stdout] 41 │- count: None, [INFO] [stdout] 42 │- }, [INFO] [stdout] 43 │- ], [INFO] [stdout] 44 │- }; [INFO] [stdout] 45 │- impl BindGroup0 { [INFO] [stdout] 46 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 47 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 48 │- } [INFO] [stdout] 49 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 50 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 51 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 52 │- layout: &bind_group_layout, [INFO] [stdout] 53 │- entries: &[ [INFO] [stdout] 54 │- wgpu::BindGroupEntry { [INFO] [stdout] 55 │- binding: 0, [INFO] [stdout] 56 │- resource: wgpu::BindingResource::Buffer(bindings.src), [INFO] [stdout] 57 │- }, [INFO] [stdout] 58 │- wgpu::BindGroupEntry { [INFO] [stdout] 59 │- binding: 1, [INFO] [stdout] 60 │- resource: wgpu::BindingResource::Buffer(bindings.vertex_weights), [INFO] [stdout] 61 │- }, [INFO] [stdout] 62 │- wgpu::BindGroupEntry { [INFO] [stdout] 63 │- binding: 2, [INFO] [stdout] 64 │- resource: wgpu::BindingResource::Buffer(bindings.dst), [INFO] [stdout] 65 │- }, [INFO] [stdout] 66 │- ], [INFO] [stdout] 67 │- label: Some("BindGroup0"), [INFO] [stdout] 68 │- }); [INFO] [stdout] 69 │- Self(bind_group) [INFO] [stdout] 70 │- } [INFO] [stdout] 71 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 72 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 73 │- } [INFO] [stdout] 74 │- } [INFO] [stdout] 75 │- #[derive(Debug)] [INFO] [stdout] 76 │- pub struct BindGroup1(wgpu::BindGroup); [INFO] [stdout] 77 │- #[derive(Debug)] [INFO] [stdout] 78 │- pub struct BindGroupLayout1<'a> { [INFO] [stdout] 79 │- pub transforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 80 │- } [INFO] [stdout] 81 │- const LAYOUT_DESCRIPTOR1: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 82 │- label: Some("LayoutDescriptor1"), [INFO] [stdout] 83 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 84 │- binding: 0, [INFO] [stdout] 85 │- visibility: wgpu::ShaderStages::COMPUTE, [INFO] [stdout] 86 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 87 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 88 │- has_dynamic_offset: false, [INFO] [stdout] 89 │- min_binding_size: None, [INFO] [stdout] 90 │- }, [INFO] [stdout] 91 │- count: None, [INFO] [stdout] 92 │- }], [INFO] [stdout] 93 │- }; [INFO] [stdout] 94 │- impl BindGroup1 { [INFO] [stdout] 95 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 96 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR1) [INFO] [stdout] 97 │- } [INFO] [stdout] 98 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout1) -> Self { [INFO] [stdout] 99 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR1); [INFO] [stdout] 100 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 101 │- layout: &bind_group_layout, [INFO] [stdout] 102 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 103 │- binding: 0, [INFO] [stdout] 104 │- resource: wgpu::BindingResource::Buffer(bindings.transforms), [INFO] [stdout] 105 │- }], [INFO] [stdout] 106 │- label: Some("BindGroup1"), [INFO] [stdout] 107 │- }); [INFO] [stdout] 108 │- Self(bind_group) [INFO] [stdout] 109 │- } [INFO] [stdout] 110 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 111 │- pass.set_bind_group(1, &self.0, &[]); [INFO] [stdout] 112 │- } [INFO] [stdout] 113 │- } [INFO] [stdout] 114 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 115 │- pub struct BindGroups<'a> { [INFO] [stdout] 116 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 117 │- pub bind_group1: &'a BindGroup1, [INFO] [stdout] 118 │- } [INFO] [stdout] 119 │- impl BindGroups<'_> { [INFO] [stdout] 120 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 121 │- self.bind_group0.set(pass); [INFO] [stdout] 122 │- self.bind_group1.set(pass); [INFO] [stdout] 123 │- } [INFO] [stdout] 124 │- } [INFO] [stdout] 125 │- pub trait SetBindGroup { [INFO] [stdout] 126 │- fn set_bind_group( [INFO] [stdout] 127 │- &mut self, [INFO] [stdout] 128 │- index: u32, [INFO] [stdout] 129 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 130 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 131 │- ); [INFO] [stdout] 132 │- } [INFO] [stdout] 133 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 134 │- fn set_bind_group( [INFO] [stdout] 135 │- &mut self, [INFO] [stdout] 136 │- index: u32, [INFO] [stdout] 137 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 138 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 139 │- ) { [INFO] [stdout] 140 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 141 │- } [INFO] [stdout] 142 │- } [INFO] [stdout] 143 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 144 │- fn set_bind_group( [INFO] [stdout] 145 │- &mut self, [INFO] [stdout] 146 │- index: u32, [INFO] [stdout] 147 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 148 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 149 │- ) { [INFO] [stdout] 150 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 151 │- } [INFO] [stdout] 152 │- } [INFO] [stdout] 153 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 154 │- fn set_bind_group( [INFO] [stdout] 155 │- &mut self, [INFO] [stdout] 156 │- index: u32, [INFO] [stdout] 157 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 158 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 159 │- ) { [INFO] [stdout] 160 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 161 │- } [INFO] [stdout] 162 │- } [INFO] [stdout] 163 │-} [INFO] [stdout] 164 │-pub fn set_bind_groups( [INFO] [stdout] 165 │- pass: &mut P, [INFO] [stdout] 166 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 167 │- bind_group1: &bind_groups::BindGroup1, [INFO] [stdout] 168 │-) { [INFO] [stdout] 169 │- bind_group0.set(pass); [INFO] [stdout] 170 │- bind_group1.set(pass); [INFO] [stdout] 171 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub src : wgpu :: BufferBinding < 'a > , pub vertex_weights : wgpu :: BufferBinding < 'a > , pub dst : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: COMPUTE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Storage { read_only : true } , has_dynamic_offset : false , min_binding_size : None , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 1 , visibility : wgpu :: ShaderStages :: COMPUTE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Storage { read_only : true } , has_dynamic_offset : false , min_binding_size : None , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 2 , visibility : wgpu :: ShaderStages :: COMPUTE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Storage { read_only : false } , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . src) , } , wgpu :: BindGroupEntry { binding : 1 , resource : wgpu :: BindingResource :: Buffer (bindings . vertex_weights) , } , wgpu :: BindGroupEntry { binding : 2 , resource : wgpu :: BindingResource :: Buffer (bindings . dst) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug)] pub struct BindGroup1 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout1 < 'a > { pub transforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR1 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor1") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: COMPUTE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup1 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR1) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout1) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR1) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . transforms) , }] , label : Some ("BindGroup1") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (1 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 , pub bind_group1 : & 'a BindGroup1 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; self . bind_group1 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0 , bind_group1 : & bind_groups :: BindGroup1) { bind_group0 . set (pass) ; bind_group1 . set (pass) ; } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'bindgroup::tests::bind_groups_module_compute' (20) panicked at src/bindgroup.rs:632:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/bind_groups_module_compute.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f28bfd - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f28bfd - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_compute::{{closure}}::h34ba89c4d7946ab6 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f50c74 - insta::settings::Settings::bind::h73b06bf3ddf682b8 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f2870b - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_compute::hc452dd4a1558480e [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f28cf7 - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_compute::{{closure}}::h9cb09240bf98a982 [INFO] [stdout] at /opt/rustwide/workdir/src/bindgroup.rs:631:36 [INFO] [stdout] 25: 0x5cf523f74256 - core::ops::function::FnOnce::call_once::haec2519eb2ed9593 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- bindgroup::tests::bind_groups_module_vertex stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/bind_groups_module_vertex.snap [INFO] [stdout] Snapshot: bind_groups_module_vertex [INFO] [stdout] Source: src/bindgroup.rs:646 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub transforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 7 │- } [INFO] [stdout] 8 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 9 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 10 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 11 │- binding: 0, [INFO] [stdout] 12 │- visibility: wgpu::ShaderStages::VERTEX, [INFO] [stdout] 13 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 14 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 15 │- has_dynamic_offset: false, [INFO] [stdout] 16 │- min_binding_size: None, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- count: None, [INFO] [stdout] 19 │- }], [INFO] [stdout] 20 │- }; [INFO] [stdout] 21 │- impl BindGroup0 { [INFO] [stdout] 22 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 23 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 24 │- } [INFO] [stdout] 25 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 26 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 27 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 28 │- layout: &bind_group_layout, [INFO] [stdout] 29 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 30 │- binding: 0, [INFO] [stdout] 31 │- resource: wgpu::BindingResource::Buffer(bindings.transforms), [INFO] [stdout] 32 │- }], [INFO] [stdout] 33 │- label: Some("BindGroup0"), [INFO] [stdout] 34 │- }); [INFO] [stdout] 35 │- Self(bind_group) [INFO] [stdout] 36 │- } [INFO] [stdout] 37 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 38 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 39 │- } [INFO] [stdout] 40 │- } [INFO] [stdout] 41 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 42 │- pub struct BindGroups<'a> { [INFO] [stdout] 43 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 44 │- } [INFO] [stdout] 45 │- impl BindGroups<'_> { [INFO] [stdout] 46 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 47 │- self.bind_group0.set(pass); [INFO] [stdout] 48 │- } [INFO] [stdout] 49 │- } [INFO] [stdout] 50 │- pub trait SetBindGroup { [INFO] [stdout] 51 │- fn set_bind_group( [INFO] [stdout] 52 │- &mut self, [INFO] [stdout] 53 │- index: u32, [INFO] [stdout] 54 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 55 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 56 │- ); [INFO] [stdout] 57 │- } [INFO] [stdout] 58 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 59 │- fn set_bind_group( [INFO] [stdout] 60 │- &mut self, [INFO] [stdout] 61 │- index: u32, [INFO] [stdout] 62 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 63 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 64 │- ) { [INFO] [stdout] 65 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 66 │- } [INFO] [stdout] 67 │- } [INFO] [stdout] 68 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 69 │- fn set_bind_group( [INFO] [stdout] 70 │- &mut self, [INFO] [stdout] 71 │- index: u32, [INFO] [stdout] 72 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 73 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 74 │- ) { [INFO] [stdout] 75 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 76 │- } [INFO] [stdout] 77 │- } [INFO] [stdout] 78 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 79 │- fn set_bind_group( [INFO] [stdout] 80 │- &mut self, [INFO] [stdout] 81 │- index: u32, [INFO] [stdout] 82 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 83 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 84 │- ) { [INFO] [stdout] 85 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 86 │- } [INFO] [stdout] 87 │- } [INFO] [stdout] 88 │-} [INFO] [stdout] 89 │-pub fn set_bind_groups( [INFO] [stdout] 90 │- pass: &mut P, [INFO] [stdout] 91 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 92 │-) { [INFO] [stdout] 93 │- bind_group0.set(pass); [INFO] [stdout] 94 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub transforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: VERTEX , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . transforms) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'bindgroup::tests::bind_groups_module_vertex' (22) panicked at src/bindgroup.rs:646:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/bind_groups_module_vertex.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f2818d - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f2818d - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_vertex::{{closure}}::hc70d87211f77c64d [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f51314 - insta::settings::Settings::bind::he54ff7ccabf9fb4c [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f27c6b - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_vertex::h411a9d6fce3474ad [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f27d47 - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_vertex::{{closure}}::h4b3d5fcec88d6f12 [INFO] [stdout] at /opt/rustwide/workdir/src/bindgroup.rs:643:35 [INFO] [stdout] 25: 0x5cf523f73c46 - core::ops::function::FnOnce::call_once::h3400964770d9bf45 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- bindgroup::tests::bind_groups_module_vertex_fragment stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/bind_groups_module_vertex_fragment.snap [INFO] [stdout] Snapshot: bind_groups_module_vertex_fragment [INFO] [stdout] Source: src/bindgroup.rs:639 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub color_texture1: &'a wgpu::TextureView, [INFO] [stdout] 7 │- pub color_texture2: &'a wgpu::TextureView, [INFO] [stdout] 8 │- pub color_texture3: &'a wgpu::TextureView, [INFO] [stdout] 9 │- pub depth_texture: &'a wgpu::TextureView, [INFO] [stdout] 10 │- pub color_sampler: &'a wgpu::Sampler, [INFO] [stdout] 11 │- pub comparison_sampler: &'a wgpu::Sampler, [INFO] [stdout] 12 │- pub storage_tex_read: &'a wgpu::TextureView, [INFO] [stdout] 13 │- pub storage_tex_write: &'a wgpu::TextureView, [INFO] [stdout] 14 │- pub storage_tex_read_write: &'a wgpu::TextureView, [INFO] [stdout] 15 │- pub color_texture_msaa: &'a wgpu::TextureView, [INFO] [stdout] 16 │- pub depth_texture_msaa: &'a wgpu::TextureView, [INFO] [stdout] 17 │- pub color_texture_array_2d: &'a wgpu::TextureView, [INFO] [stdout] 18 │- pub color_texture_array_cube: &'a wgpu::TextureView, [INFO] [stdout] 19 │- pub texture_binding_array: &'a [&'a wgpu::TextureView; 2], [INFO] [stdout] 20 │- pub sampler_binding_array: &'a [&'a wgpu::Sampler; 3], [INFO] [stdout] 21 │- } [INFO] [stdout] 22 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 23 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 24 │- entries: &[ [INFO] [stdout] 25 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 26 │- binding: 0, [INFO] [stdout] 27 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 28 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 29 │- sample_type: wgpu::TextureSampleType::Uint, [INFO] [stdout] 30 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 31 │- multisampled: false, [INFO] [stdout] 32 │- }, [INFO] [stdout] 33 │- count: None, [INFO] [stdout] 34 │- }, [INFO] [stdout] 35 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 36 │- binding: 1, [INFO] [stdout] 37 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 38 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 39 │- sample_type: wgpu::TextureSampleType::Sint, [INFO] [stdout] 40 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 41 │- multisampled: false, [INFO] [stdout] 42 │- }, [INFO] [stdout] 43 │- count: None, [INFO] [stdout] 44 │- }, [INFO] [stdout] 45 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 46 │- binding: 2, [INFO] [stdout] 47 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 48 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 49 │- sample_type: wgpu::TextureSampleType::Float { filterable: true }, [INFO] [stdout] 50 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 51 │- multisampled: false, [INFO] [stdout] 52 │- }, [INFO] [stdout] 53 │- count: None, [INFO] [stdout] 54 │- }, [INFO] [stdout] 55 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 56 │- binding: 3, [INFO] [stdout] 57 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 58 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 59 │- sample_type: wgpu::TextureSampleType::Depth, [INFO] [stdout] 60 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 61 │- multisampled: false, [INFO] [stdout] 62 │- }, [INFO] [stdout] 63 │- count: None, [INFO] [stdout] 64 │- }, [INFO] [stdout] 65 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 66 │- binding: 4, [INFO] [stdout] 67 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 68 │- ty: wgpu::BindingType::Sampler(wgpu::SamplerBindingType::Filtering), [INFO] [stdout] 69 │- count: None, [INFO] [stdout] 70 │- }, [INFO] [stdout] 71 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 72 │- binding: 5, [INFO] [stdout] 73 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 74 │- ty: wgpu::BindingType::Sampler(wgpu::SamplerBindingType::Comparison), [INFO] [stdout] 75 │- count: None, [INFO] [stdout] 76 │- }, [INFO] [stdout] 77 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 78 │- binding: 6, [INFO] [stdout] 79 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 80 │- ty: wgpu::BindingType::StorageTexture { [INFO] [stdout] 81 │- access: wgpu::StorageTextureAccess::ReadOnly, [INFO] [stdout] 82 │- format: wgpu::TextureFormat::R32Float, [INFO] [stdout] 83 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 84 │- }, [INFO] [stdout] 85 │- count: None, [INFO] [stdout] 86 │- }, [INFO] [stdout] 87 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 88 │- binding: 7, [INFO] [stdout] 89 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 90 │- ty: wgpu::BindingType::StorageTexture { [INFO] [stdout] 91 │- access: wgpu::StorageTextureAccess::WriteOnly, [INFO] [stdout] 92 │- format: wgpu::TextureFormat::Rg32Sint, [INFO] [stdout] 93 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 94 │- }, [INFO] [stdout] 95 │- count: None, [INFO] [stdout] 96 │- }, [INFO] [stdout] 97 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 98 │- binding: 8, [INFO] [stdout] 99 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 100 │- ty: wgpu::BindingType::StorageTexture { [INFO] [stdout] 101 │- access: wgpu::StorageTextureAccess::ReadWrite, [INFO] [stdout] 102 │- format: wgpu::TextureFormat::Rgba8Uint, [INFO] [stdout] 103 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 104 │- }, [INFO] [stdout] 105 │- count: None, [INFO] [stdout] 106 │- }, [INFO] [stdout] 107 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 108 │- binding: 9, [INFO] [stdout] 109 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 110 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 111 │- sample_type: wgpu::TextureSampleType::Float { filterable: true }, [INFO] [stdout] 112 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 113 │- multisampled: true, [INFO] [stdout] 114 │- }, [INFO] [stdout] 115 │- count: None, [INFO] [stdout] 116 │- }, [INFO] [stdout] 117 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 118 │- binding: 10, [INFO] [stdout] 119 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 120 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 121 │- sample_type: wgpu::TextureSampleType::Depth, [INFO] [stdout] 122 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 123 │- multisampled: true, [INFO] [stdout] 124 │- }, [INFO] [stdout] 125 │- count: None, [INFO] [stdout] 126 │- }, [INFO] [stdout] 127 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 128 │- binding: 11, [INFO] [stdout] 129 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 130 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 131 │- sample_type: wgpu::TextureSampleType::Float { filterable: true }, [INFO] [stdout] 132 │- view_dimension: wgpu::TextureViewDimension::D2Array, [INFO] [stdout] 133 │- multisampled: false, [INFO] [stdout] 134 │- }, [INFO] [stdout] 135 │- count: None, [INFO] [stdout] 136 │- }, [INFO] [stdout] 137 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 138 │- binding: 12, [INFO] [stdout] 139 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 140 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 141 │- sample_type: wgpu::TextureSampleType::Float { filterable: true }, [INFO] [stdout] 142 │- view_dimension: wgpu::TextureViewDimension::CubeArray, [INFO] [stdout] 143 │- multisampled: false, [INFO] [stdout] 144 │- }, [INFO] [stdout] 145 │- count: None, [INFO] [stdout] 146 │- }, [INFO] [stdout] 147 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 148 │- binding: 13, [INFO] [stdout] 149 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 150 │- ty: wgpu::BindingType::Texture { [INFO] [stdout] 151 │- sample_type: wgpu::TextureSampleType::Float { filterable: true }, [INFO] [stdout] 152 │- view_dimension: wgpu::TextureViewDimension::D2, [INFO] [stdout] 153 │- multisampled: false, [INFO] [stdout] 154 │- }, [INFO] [stdout] 155 │- count: Some(std::num::NonZeroU32::new(2).unwrap()), [INFO] [stdout] 156 │- }, [INFO] [stdout] 157 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 158 │- binding: 14, [INFO] [stdout] 159 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 160 │- ty: wgpu::BindingType::Sampler(wgpu::SamplerBindingType::Filtering), [INFO] [stdout] 161 │- count: Some(std::num::NonZeroU32::new(3).unwrap()), [INFO] [stdout] 162 │- }, [INFO] [stdout] 163 │- ], [INFO] [stdout] 164 │- }; [INFO] [stdout] 165 │- impl BindGroup0 { [INFO] [stdout] 166 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 167 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 168 │- } [INFO] [stdout] 169 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 170 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 171 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 172 │- layout: &bind_group_layout, [INFO] [stdout] 173 │- entries: &[ [INFO] [stdout] 174 │- wgpu::BindGroupEntry { [INFO] [stdout] 175 │- binding: 0, [INFO] [stdout] 176 │- resource: wgpu::BindingResource::TextureView(bindings.color_texture1), [INFO] [stdout] 177 │- }, [INFO] [stdout] 178 │- wgpu::BindGroupEntry { [INFO] [stdout] 179 │- binding: 1, [INFO] [stdout] 180 │- resource: wgpu::BindingResource::TextureView(bindings.color_texture2), [INFO] [stdout] 181 │- }, [INFO] [stdout] 182 │- wgpu::BindGroupEntry { [INFO] [stdout] 183 │- binding: 2, [INFO] [stdout] 184 │- resource: wgpu::BindingResource::TextureView(bindings.color_texture3), [INFO] [stdout] 185 │- }, [INFO] [stdout] 186 │- wgpu::BindGroupEntry { [INFO] [stdout] 187 │- binding: 3, [INFO] [stdout] 188 │- resource: wgpu::BindingResource::TextureView(bindings.depth_texture), [INFO] [stdout] 189 │- }, [INFO] [stdout] 190 │- wgpu::BindGroupEntry { [INFO] [stdout] 191 │- binding: 4, [INFO] [stdout] 192 │- resource: wgpu::BindingResource::Sampler(bindings.color_sampler), [INFO] [stdout] 193 │- }, [INFO] [stdout] 194 │- wgpu::BindGroupEntry { [INFO] [stdout] 195 │- binding: 5, [INFO] [stdout] 196 │- resource: wgpu::BindingResource::Sampler(bindings.comparison_sampler), [INFO] [stdout] 197 │- }, [INFO] [stdout] 198 │- wgpu::BindGroupEntry { [INFO] [stdout] 199 │- binding: 6, [INFO] [stdout] 200 │- resource: wgpu::BindingResource::TextureView(bindings.storage_tex_read), [INFO] [stdout] 201 │- }, [INFO] [stdout] 202 │- wgpu::BindGroupEntry { [INFO] [stdout] 203 │- binding: 7, [INFO] [stdout] 204 │- resource: wgpu::BindingResource::TextureView(bindings.storage_tex_write), [INFO] [stdout] 205 │- }, [INFO] [stdout] 206 │- wgpu::BindGroupEntry { [INFO] [stdout] 207 │- binding: 8, [INFO] [stdout] 208 │- resource: wgpu::BindingResource::TextureView( [INFO] [stdout] 209 │- bindings.storage_tex_read_write, [INFO] [stdout] 210 │- ), [INFO] [stdout] 211 │- }, [INFO] [stdout] 212 │- wgpu::BindGroupEntry { [INFO] [stdout] 213 │- binding: 9, [INFO] [stdout] 214 │- resource: wgpu::BindingResource::TextureView(bindings.color_texture_msaa), [INFO] [stdout] 215 │- }, [INFO] [stdout] 216 │- wgpu::BindGroupEntry { [INFO] [stdout] 217 │- binding: 10, [INFO] [stdout] 218 │- resource: wgpu::BindingResource::TextureView(bindings.depth_texture_msaa), [INFO] [stdout] 219 │- }, [INFO] [stdout] 220 │- wgpu::BindGroupEntry { [INFO] [stdout] 221 │- binding: 11, [INFO] [stdout] 222 │- resource: wgpu::BindingResource::TextureView( [INFO] [stdout] 223 │- bindings.color_texture_array_2d, [INFO] [stdout] 224 │- ), [INFO] [stdout] 225 │- }, [INFO] [stdout] 226 │- wgpu::BindGroupEntry { [INFO] [stdout] 227 │- binding: 12, [INFO] [stdout] 228 │- resource: wgpu::BindingResource::TextureView( [INFO] [stdout] 229 │- bindings.color_texture_array_cube, [INFO] [stdout] 230 │- ), [INFO] [stdout] 231 │- }, [INFO] [stdout] 232 │- wgpu::BindGroupEntry { [INFO] [stdout] 233 │- binding: 13, [INFO] [stdout] 234 │- resource: wgpu::BindingResource::TextureViewArray( [INFO] [stdout] 235 │- bindings.texture_binding_array, [INFO] [stdout] 236 │- ), [INFO] [stdout] 237 │- }, [INFO] [stdout] 238 │- wgpu::BindGroupEntry { [INFO] [stdout] 239 │- binding: 14, [INFO] [stdout] 240 │- resource: wgpu::BindingResource::SamplerArray( [INFO] [stdout] 241 │- bindings.sampler_binding_array, [INFO] [stdout] 242 │- ), [INFO] [stdout] 243 │- }, [INFO] [stdout] 244 │- ], [INFO] [stdout] 245 │- label: Some("BindGroup0"), [INFO] [stdout] 246 │- }); [INFO] [stdout] 247 │- Self(bind_group) [INFO] [stdout] 248 │- } [INFO] [stdout] 249 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 250 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 251 │- } [INFO] [stdout] 252 │- } [INFO] [stdout] 253 │- #[derive(Debug)] [INFO] [stdout] 254 │- pub struct BindGroup1(wgpu::BindGroup); [INFO] [stdout] 255 │- #[derive(Debug)] [INFO] [stdout] 256 │- pub struct BindGroupLayout1<'a> { [INFO] [stdout] 257 │- pub transforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 258 │- pub scalar: wgpu::BufferBinding<'a>, [INFO] [stdout] 259 │- pub vector: wgpu::BufferBinding<'a>, [INFO] [stdout] 260 │- pub matrix: wgpu::BufferBinding<'a>, [INFO] [stdout] 261 │- pub transforms_array: &'a [wgpu::BufferBinding<'a>; 2], [INFO] [stdout] 262 │- pub scalar_array: &'a [wgpu::BufferBinding<'a>; 3], [INFO] [stdout] 263 │- pub vector_array: &'a [wgpu::BufferBinding<'a>; 4], [INFO] [stdout] 264 │- pub matrix_array: &'a [wgpu::BufferBinding<'a>; 5], [INFO] [stdout] 265 │- } [INFO] [stdout] 266 │- const LAYOUT_DESCRIPTOR1: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 267 │- label: Some("LayoutDescriptor1"), [INFO] [stdout] 268 │- entries: &[ [INFO] [stdout] 269 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 270 │- binding: 0, [INFO] [stdout] 271 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 272 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 273 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 274 │- has_dynamic_offset: false, [INFO] [stdout] 275 │- min_binding_size: None, [INFO] [stdout] 276 │- }, [INFO] [stdout] 277 │- count: None, [INFO] [stdout] 278 │- }, [INFO] [stdout] 279 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 280 │- binding: 1, [INFO] [stdout] 281 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 282 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 283 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 284 │- has_dynamic_offset: false, [INFO] [stdout] 285 │- min_binding_size: None, [INFO] [stdout] 286 │- }, [INFO] [stdout] 287 │- count: None, [INFO] [stdout] 288 │- }, [INFO] [stdout] 289 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 290 │- binding: 2, [INFO] [stdout] 291 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 292 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 293 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 294 │- has_dynamic_offset: false, [INFO] [stdout] 295 │- min_binding_size: None, [INFO] [stdout] 296 │- }, [INFO] [stdout] 297 │- count: None, [INFO] [stdout] 298 │- }, [INFO] [stdout] 299 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 300 │- binding: 3, [INFO] [stdout] 301 │- visibility: wgpu::ShaderStages::VERTEX_FRAGMENT, [INFO] [stdout] 302 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 303 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 304 │- has_dynamic_offset: false, [INFO] [stdout] 305 │- min_binding_size: None, [INFO] [stdout] 306 │- }, [INFO] [stdout] 307 │- count: None, [INFO] [stdout] 308 │- }, [INFO] [stdout] 309 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 310 │- binding: 4, [INFO] [stdout] 311 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 312 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 313 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 314 │- has_dynamic_offset: false, [INFO] [stdout] 315 │- min_binding_size: None, [INFO] [stdout] 316 │- }, [INFO] [stdout] 317 │- count: Some(std::num::NonZeroU32::new(2).unwrap()), [INFO] [stdout] 318 │- }, [INFO] [stdout] 319 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 320 │- binding: 5, [INFO] [stdout] 321 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 322 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 323 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 324 │- has_dynamic_offset: false, [INFO] [stdout] 325 │- min_binding_size: None, [INFO] [stdout] 326 │- }, [INFO] [stdout] 327 │- count: Some(std::num::NonZeroU32::new(3).unwrap()), [INFO] [stdout] 328 │- }, [INFO] [stdout] 329 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 330 │- binding: 6, [INFO] [stdout] 331 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 332 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 333 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 334 │- has_dynamic_offset: false, [INFO] [stdout] 335 │- min_binding_size: None, [INFO] [stdout] 336 │- }, [INFO] [stdout] 337 │- count: Some(std::num::NonZeroU32::new(4).unwrap()), [INFO] [stdout] 338 │- }, [INFO] [stdout] 339 │- wgpu::BindGroupLayoutEntry { [INFO] [stdout] 340 │- binding: 7, [INFO] [stdout] 341 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 342 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 343 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 344 │- has_dynamic_offset: false, [INFO] [stdout] 345 │- min_binding_size: None, [INFO] [stdout] 346 │- }, [INFO] [stdout] 347 │- count: Some(std::num::NonZeroU32::new(5).unwrap()), [INFO] [stdout] 348 │- }, [INFO] [stdout] 349 │- ], [INFO] [stdout] 350 │- }; [INFO] [stdout] 351 │- impl BindGroup1 { [INFO] [stdout] 352 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 353 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR1) [INFO] [stdout] 354 │- } [INFO] [stdout] 355 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout1) -> Self { [INFO] [stdout] 356 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR1); [INFO] [stdout] 357 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 358 │- layout: &bind_group_layout, [INFO] [stdout] 359 │- entries: &[ [INFO] [stdout] 360 │- wgpu::BindGroupEntry { [INFO] [stdout] 361 │- binding: 0, [INFO] [stdout] 362 │- resource: wgpu::BindingResource::Buffer(bindings.transforms), [INFO] [stdout] 363 │- }, [INFO] [stdout] 364 │- wgpu::BindGroupEntry { [INFO] [stdout] 365 │- binding: 1, [INFO] [stdout] 366 │- resource: wgpu::BindingResource::Buffer(bindings.scalar), [INFO] [stdout] 367 │- }, [INFO] [stdout] 368 │- wgpu::BindGroupEntry { [INFO] [stdout] 369 │- binding: 2, [INFO] [stdout] 370 │- resource: wgpu::BindingResource::Buffer(bindings.vector), [INFO] [stdout] 371 │- }, [INFO] [stdout] 372 │- wgpu::BindGroupEntry { [INFO] [stdout] 373 │- binding: 3, [INFO] [stdout] 374 │- resource: wgpu::BindingResource::Buffer(bindings.matrix), [INFO] [stdout] 375 │- }, [INFO] [stdout] 376 │- wgpu::BindGroupEntry { [INFO] [stdout] 377 │- binding: 4, [INFO] [stdout] 378 │- resource: wgpu::BindingResource::BufferArray(bindings.transforms_array), [INFO] [stdout] 379 │- }, [INFO] [stdout] 380 │- wgpu::BindGroupEntry { [INFO] [stdout] 381 │- binding: 5, [INFO] [stdout] 382 │- resource: wgpu::BindingResource::BufferArray(bindings.scalar_array), [INFO] [stdout] 383 │- }, [INFO] [stdout] 384 │- wgpu::BindGroupEntry { [INFO] [stdout] 385 │- binding: 6, [INFO] [stdout] 386 │- resource: wgpu::BindingResource::BufferArray(bindings.vector_array), [INFO] [stdout] 387 │- }, [INFO] [stdout] 388 │- wgpu::BindGroupEntry { [INFO] [stdout] 389 │- binding: 7, [INFO] [stdout] 390 │- resource: wgpu::BindingResource::BufferArray(bindings.matrix_array), [INFO] [stdout] 391 │- }, [INFO] [stdout] 392 │- ], [INFO] [stdout] 393 │- label: Some("BindGroup1"), [INFO] [stdout] 394 │- }); [INFO] [stdout] 395 │- Self(bind_group) [INFO] [stdout] 396 │- } [INFO] [stdout] 397 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 398 │- pass.set_bind_group(1, &self.0, &[]); [INFO] [stdout] 399 │- } [INFO] [stdout] 400 │- } [INFO] [stdout] 401 │- #[derive(Debug)] [INFO] [stdout] 402 │- pub struct BindGroup2(wgpu::BindGroup); [INFO] [stdout] 403 │- #[derive(Debug)] [INFO] [stdout] 404 │- pub struct BindGroupLayout2<'a> { [INFO] [stdout] 405 │- pub acc_struct: &'a wgpu::Tlas, [INFO] [stdout] 406 │- } [INFO] [stdout] 407 │- const LAYOUT_DESCRIPTOR2: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 408 │- label: Some("LayoutDescriptor2"), [INFO] [stdout] 409 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 410 │- binding: 0, [INFO] [stdout] 411 │- visibility: wgpu::ShaderStages::NONE, [INFO] [stdout] 412 │- ty: wgpu::BindingType::AccelerationStructure { [INFO] [stdout] 413 │- vertex_return: false, [INFO] [stdout] 414 │- }, [INFO] [stdout] 415 │- count: None, [INFO] [stdout] 416 │- }], [INFO] [stdout] 417 │- }; [INFO] [stdout] 418 │- impl BindGroup2 { [INFO] [stdout] 419 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 420 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR2) [INFO] [stdout] 421 │- } [INFO] [stdout] 422 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout2) -> Self { [INFO] [stdout] 423 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR2); [INFO] [stdout] 424 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 425 │- layout: &bind_group_layout, [INFO] [stdout] 426 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 427 │- binding: 0, [INFO] [stdout] 428 │- resource: wgpu::BindingResource::AccelerationStructure(bindings.acc_struct), [INFO] [stdout] 429 │- }], [INFO] [stdout] 430 │- label: Some("BindGroup2"), [INFO] [stdout] 431 │- }); [INFO] [stdout] 432 │- Self(bind_group) [INFO] [stdout] 433 │- } [INFO] [stdout] 434 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 435 │- pass.set_bind_group(2, &self.0, &[]); [INFO] [stdout] 436 │- } [INFO] [stdout] 437 │- } [INFO] [stdout] 438 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 439 │- pub struct BindGroups<'a> { [INFO] [stdout] 440 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 441 │- pub bind_group1: &'a BindGroup1, [INFO] [stdout] 442 │- pub bind_group2: &'a BindGroup2, [INFO] [stdout] 443 │- } [INFO] [stdout] 444 │- impl BindGroups<'_> { [INFO] [stdout] 445 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 446 │- self.bind_group0.set(pass); [INFO] [stdout] 447 │- self.bind_group1.set(pass); [INFO] [stdout] 448 │- self.bind_group2.set(pass); [INFO] [stdout] 449 │- } [INFO] [stdout] 450 │- } [INFO] [stdout] 451 │- pub trait SetBindGroup { [INFO] [stdout] 452 │- fn set_bind_group( [INFO] [stdout] 453 │- &mut self, [INFO] [stdout] 454 │- index: u32, [INFO] [stdout] 455 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 456 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 457 │- ); [INFO] [stdout] 458 │- } [INFO] [stdout] 459 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 460 │- fn set_bind_group( [INFO] [stdout] 461 │- &mut self, [INFO] [stdout] 462 │- index: u32, [INFO] [stdout] 463 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 464 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 465 │- ) { [INFO] [stdout] 466 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 467 │- } [INFO] [stdout] 468 │- } [INFO] [stdout] 469 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 470 │- fn set_bind_group( [INFO] [stdout] 471 │- &mut self, [INFO] [stdout] 472 │- index: u32, [INFO] [stdout] 473 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 474 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 475 │- ) { [INFO] [stdout] 476 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 477 │- } [INFO] [stdout] 478 │- } [INFO] [stdout] 479 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 480 │- fn set_bind_group( [INFO] [stdout] 481 │- &mut self, [INFO] [stdout] 482 │- index: u32, [INFO] [stdout] 483 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 484 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 485 │- ) { [INFO] [stdout] 486 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 487 │- } [INFO] [stdout] 488 │- } [INFO] [stdout] 489 │-} [INFO] [stdout] 490 │-pub fn set_bind_groups( [INFO] [stdout] 491 │- pass: &mut P, [INFO] [stdout] 492 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 493 │- bind_group1: &bind_groups::BindGroup1, [INFO] [stdout] 494 │- bind_group2: &bind_groups::BindGroup2, [INFO] [stdout] 495 │-) { [INFO] [stdout] 496 │- bind_group0.set(pass); [INFO] [stdout] 497 │- bind_group1.set(pass); [INFO] [stdout] 498 │- bind_group2.set(pass); [INFO] [stdout] 499 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub color_texture1 : & 'a wgpu :: TextureView , pub color_texture2 : & 'a wgpu :: TextureView , pub color_texture3 : & 'a wgpu :: TextureView , pub depth_texture : & 'a wgpu :: TextureView , pub color_sampler : & 'a wgpu :: Sampler , pub comparison_sampler : & 'a wgpu :: Sampler , pub storage_tex_read : & 'a wgpu :: TextureView , pub storage_tex_write : & 'a wgpu :: TextureView , pub storage_tex_read_write : & 'a wgpu :: TextureView , pub color_texture_msaa : & 'a wgpu :: TextureView , pub depth_texture_msaa : & 'a wgpu :: TextureView , pub color_texture_array_2d : & 'a wgpu :: TextureView , pub color_texture_array_cube : & 'a wgpu :: TextureView , pub texture_binding_array : & 'a [& 'a wgpu :: TextureView ; 2] , pub sampler_binding_array : & 'a [& 'a wgpu :: Sampler ; 3] } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Uint , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : false , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 1 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Sint , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : false , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 2 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Float { filterable : true } , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : false , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 3 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Depth , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : false , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 4 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Sampler (wgpu :: SamplerBindingType :: Filtering) , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 5 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Sampler (wgpu :: SamplerBindingType :: Comparison) , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 6 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: StorageTexture { access : wgpu :: StorageTextureAccess :: ReadOnly , format : wgpu :: TextureFormat :: R32Float , view_dimension : wgpu :: TextureViewDimension :: D2 , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 7 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: StorageTexture { access : wgpu :: StorageTextureAccess :: WriteOnly , format : wgpu :: TextureFormat :: Rg32Sint , view_dimension : wgpu :: TextureViewDimension :: D2 , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 8 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: StorageTexture { access : wgpu :: StorageTextureAccess :: ReadWrite , format : wgpu :: TextureFormat :: Rgba8Uint , view_dimension : wgpu :: TextureViewDimension :: D2 , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 9 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Float { filterable : true } , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : true , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 10 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Depth , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : true , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 11 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Float { filterable : true } , view_dimension : wgpu :: TextureViewDimension :: D2Array , multisampled : false , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 12 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Float { filterable : true } , view_dimension : wgpu :: TextureViewDimension :: CubeArray , multisampled : false , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 13 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Texture { sample_type : wgpu :: TextureSampleType :: Float { filterable : true } , view_dimension : wgpu :: TextureViewDimension :: D2 , multisampled : false , } , count : Some (std :: num :: NonZeroU32 :: new (2) . unwrap ()) , } , wgpu :: BindGroupLayoutEntry { binding : 14 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Sampler (wgpu :: SamplerBindingType :: Filtering) , count : Some (std :: num :: NonZeroU32 :: new (3) . unwrap ()) , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: TextureView (bindings . color_texture1) , } , wgpu :: BindGroupEntry { binding : 1 , resource : wgpu :: BindingResource :: TextureView (bindings . color_texture2) , } , wgpu :: BindGroupEntry { binding : 2 , resource : wgpu :: BindingResource :: TextureView (bindings . color_texture3) , } , wgpu :: BindGroupEntry { binding : 3 , resource : wgpu :: BindingResource :: TextureView (bindings . depth_texture) , } , wgpu :: BindGroupEntry { binding : 4 , resource : wgpu :: BindingResource :: Sampler (bindings . color_sampler) , } , wgpu :: BindGroupEntry { binding : 5 , resource : wgpu :: BindingResource :: Sampler (bindings . comparison_sampler) , } , wgpu :: BindGroupEntry { binding : 6 , resource : wgpu :: BindingResource :: TextureView (bindings . storage_tex_read) , } , wgpu :: BindGroupEntry { binding : 7 , resource : wgpu :: BindingResource :: TextureView (bindings . storage_tex_write) , } , wgpu :: BindGroupEntry { binding : 8 , resource : wgpu :: BindingResource :: TextureView (bindings . storage_tex_read_write) , } , wgpu :: BindGroupEntry { binding : 9 , resource : wgpu :: BindingResource :: TextureView (bindings . color_texture_msaa) , } , wgpu :: BindGroupEntry { binding : 10 , resource : wgpu :: BindingResource :: TextureView (bindings . depth_texture_msaa) , } , wgpu :: BindGroupEntry { binding : 11 , resource : wgpu :: BindingResource :: TextureView (bindings . color_texture_array_2d) , } , wgpu :: BindGroupEntry { binding : 12 , resource : wgpu :: BindingResource :: TextureView (bindings . color_texture_array_cube) , } , wgpu :: BindGroupEntry { binding : 13 , resource : wgpu :: BindingResource :: TextureViewArray (bindings . texture_binding_array) , } , wgpu :: BindGroupEntry { binding : 14 , resource : wgpu :: BindingResource :: SamplerArray (bindings . sampler_binding_array) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug)] pub struct BindGroup1 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout1 < 'a > { pub transforms : wgpu :: BufferBinding < 'a > , pub scalar : wgpu :: BufferBinding < 'a > , pub vector : wgpu :: BufferBinding < 'a > , pub matrix : wgpu :: BufferBinding < 'a > , pub transforms_array : & 'a [wgpu :: BufferBinding < 'a > ; 2] , pub scalar_array : & 'a [wgpu :: BufferBinding < 'a > ; 3] , pub vector_array : & 'a [wgpu :: BufferBinding < 'a > ; 4] , pub matrix_array : & 'a [wgpu :: BufferBinding < 'a > ; 5] } const LAYOUT_DESCRIPTOR1 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor1") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 1 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 2 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 3 , visibility : wgpu :: ShaderStages :: VERTEX_FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , } , wgpu :: BindGroupLayoutEntry { binding : 4 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : Some (std :: num :: NonZeroU32 :: new (2) . unwrap ()) , } , wgpu :: BindGroupLayoutEntry { binding : 5 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : Some (std :: num :: NonZeroU32 :: new (3) . unwrap ()) , } , wgpu :: BindGroupLayoutEntry { binding : 6 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : Some (std :: num :: NonZeroU32 :: new (4) . unwrap ()) , } , wgpu :: BindGroupLayoutEntry { binding : 7 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : Some (std :: num :: NonZeroU32 :: new (5) . unwrap ()) , }] , } ; impl BindGroup1 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR1) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout1) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR1) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . transforms) , } , wgpu :: BindGroupEntry { binding : 1 , resource : wgpu :: BindingResource :: Buffer (bindings . scalar) , } , wgpu :: BindGroupEntry { binding : 2 , resource : wgpu :: BindingResource :: Buffer (bindings . vector) , } , wgpu :: BindGroupEntry { binding : 3 , resource : wgpu :: BindingResource :: Buffer (bindings . matrix) , } , wgpu :: BindGroupEntry { binding : 4 , resource : wgpu :: BindingResource :: BufferArray (bindings . transforms_array) , } , wgpu :: BindGroupEntry { binding : 5 , resource : wgpu :: BindingResource :: BufferArray (bindings . scalar_array) , } , wgpu :: BindGroupEntry { binding : 6 , resource : wgpu :: BindingResource :: BufferArray (bindings . vector_array) , } , wgpu :: BindGroupEntry { binding : 7 , resource : wgpu :: BindingResource :: BufferArray (bindings . matrix_array) , }] , label : Some ("BindGroup1") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (1 , & self . 0 , & []) ; } } # [derive (Debug)] pub struct BindGroup2 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout2 < 'a > { pub acc_struct : & 'a wgpu :: Tlas } const LAYOUT_DESCRIPTOR2 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor2") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: NONE , ty : wgpu :: BindingType :: AccelerationStructure { vertex_return : false } , count : None , }] , } ; impl BindGroup2 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR2) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout2) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR2) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: AccelerationStructure (bindings . acc_struct) , }] , label : Some ("BindGroup2") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (2 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 , pub bind_group1 : & 'a BindGroup1 , pub bind_group2 : & 'a BindGroup2 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; self . bind_group1 . set (pass) ; self . bind_group2 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0 , bind_group1 : & bind_groups :: BindGroup1 , bind_group2 : & bind_groups :: BindGroup2) { bind_group0 . set (pass) ; bind_group1 . set (pass) ; bind_group2 . set (pass) ; } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'bindgroup::tests::bind_groups_module_vertex_fragment' (23) panicked at src/bindgroup.rs:639:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/bind_groups_module_vertex_fragment.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f2a16d - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f2a16d - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_vertex_fragment::{{closure}}::h665b9165cd32ef3a [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f50e74 - insta::settings::Settings::bind::h81e61e5737f07615 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f29c4b - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_vertex_fragment::hd1a7db764b40d3a1 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f29d27 - wgsl_to_wgpu::bindgroup::tests::bind_groups_module_vertex_fragment::{{closure}}::h2033317296536d78 [INFO] [stdout] at /opt/rustwide/workdir/src/bindgroup.rs:636:44 [INFO] [stdout] 25: 0x5cf523f743c6 - core::ops::function::FnOnce::call_once::hbe75695008d03926 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_all_structs_bytemuck_input_layout_validation stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_all_structs_bytemuck_input_layout_validation.snap [INFO] [stdout] Snapshot: write_all_structs_bytemuck_input_layout_validation [INFO] [stdout] Source: src/structs.rs:538 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub const ENTRY_MAIN: &str = "main"; [INFO] [stdout] 2 │-#[derive(Debug)] [INFO] [stdout] 3 │-pub struct VertexEntry { [INFO] [stdout] 4 │- pub entry_point: &'static str, [INFO] [stdout] 5 │- pub buffers: [wgpu::VertexBufferLayout<'static>; N], [INFO] [stdout] 6 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 7 │-} [INFO] [stdout] 8 │-pub fn vertex_state<'a, const N: usize>( [INFO] [stdout] 9 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 10 │- entry: &'a VertexEntry, [INFO] [stdout] 11 │-) -> wgpu::VertexState<'a> { [INFO] [stdout] 12 │- wgpu::VertexState { [INFO] [stdout] 13 │- module, [INFO] [stdout] 14 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 15 │- buffers: &entry.buffers, [INFO] [stdout] 16 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 17 │- constants: &entry.constants, [INFO] [stdout] 18 │- ..Default::default() [INFO] [stdout] 19 │- }, [INFO] [stdout] 20 │- } [INFO] [stdout] 21 │-} [INFO] [stdout] 22 │-pub fn main_entry(input0: wgpu::VertexStepMode) -> VertexEntry<1> { [INFO] [stdout] 23 │- VertexEntry { [INFO] [stdout] 24 │- entry_point: ENTRY_MAIN, [INFO] [stdout] 25 │- buffers: [Input0::vertex_buffer_layout(input0)], [INFO] [stdout] 26 │- constants: Default::default(), [INFO] [stdout] 27 │- } [INFO] [stdout] 28 │-} [INFO] [stdout] 29 │-pub const SOURCE: &str = include_str!("bytemuck_input_layout_validation.wgsl"); [INFO] [stdout] 30 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 31 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 32 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 33 │- label: None, [INFO] [stdout] 34 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 35 │- }) [INFO] [stdout] 36 │-} [INFO] [stdout] 37 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 38 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 39 │- label: None, [INFO] [stdout] 40 │- bind_group_layouts: &[], [INFO] [stdout] 41 │- push_constant_ranges: &[], [INFO] [stdout] 42 │- }) [INFO] [stdout] 43 │-} [INFO] [stdout] 44 │-#[repr(C)] [INFO] [stdout] 45 │-#[derive(Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable)] [INFO] [stdout] 46 │-pub struct Inner { [INFO] [stdout] 47 │- pub a: f32, [INFO] [stdout] 48 │-} [INFO] [stdout] 49 │-const _: () = assert!( [INFO] [stdout] 50 │- std::mem::size_of::() == 4, [INFO] [stdout] 51 │- "size of Inner does not match WGSL" [INFO] [stdout] 52 │-); [INFO] [stdout] 53 │-const _: () = assert!( [INFO] [stdout] 54 │- std::mem::offset_of!(Inner, a) == 0, [INFO] [stdout] 55 │- "offset of Inner.a does not match WGSL" [INFO] [stdout] 56 │-); [INFO] [stdout] 57 │-#[repr(C)] [INFO] [stdout] 58 │-#[derive(Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable)] [INFO] [stdout] 59 │-pub struct Input0 { [INFO] [stdout] 60 │- pub a: u32, [INFO] [stdout] 61 │- pub b: i32, [INFO] [stdout] 62 │- pub c: f32, [INFO] [stdout] 63 │-} [INFO] [stdout] 64 │-const _: () = assert!( [INFO] [stdout] 65 │- std::mem::size_of::() == 64, [INFO] [stdout] 66 │- "size of Input0 does not match WGSL" [INFO] [stdout] 67 │-); [INFO] [stdout] 68 │-const _: () = assert!( [INFO] [stdout] 69 │- std::mem::offset_of!(Input0, a) == 0, [INFO] [stdout] 70 │- "offset of Input0.a does not match WGSL" [INFO] [stdout] 71 │-); [INFO] [stdout] 72 │-const _: () = assert!( [INFO] [stdout] 73 │- std::mem::offset_of!(Input0, b) == 8, [INFO] [stdout] 74 │- "offset of Input0.b does not match WGSL" [INFO] [stdout] 75 │-); [INFO] [stdout] 76 │-const _: () = assert!( [INFO] [stdout] 77 │- std::mem::offset_of!(Input0, c) == 32, [INFO] [stdout] 78 │- "offset of Input0.c does not match WGSL" [INFO] [stdout] 79 │-); [INFO] [stdout] 80 │-impl Input0 { [INFO] [stdout] 81 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 3] = [ [INFO] [stdout] 82 │- wgpu::VertexAttribute { [INFO] [stdout] 83 │- format: wgpu::VertexFormat::Uint32, [INFO] [stdout] 84 │- offset: std::mem::offset_of!(Input0, a) as u64, [INFO] [stdout] 85 │- shader_location: 0, [INFO] [stdout] 86 │- }, [INFO] [stdout] 87 │- wgpu::VertexAttribute { [INFO] [stdout] 88 │- format: wgpu::VertexFormat::Sint32, [INFO] [stdout] 89 │- offset: std::mem::offset_of!(Input0, b) as u64, [INFO] [stdout] 90 │- shader_location: 1, [INFO] [stdout] 91 │- }, [INFO] [stdout] 92 │- wgpu::VertexAttribute { [INFO] [stdout] 93 │- format: wgpu::VertexFormat::Float32, [INFO] [stdout] 94 │- offset: std::mem::offset_of!(Input0, c) as u64, [INFO] [stdout] 95 │- shader_location: 2, [INFO] [stdout] 96 │- }, [INFO] [stdout] 97 │- ]; [INFO] [stdout] 98 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 99 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 100 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 101 │- wgpu::VertexBufferLayout { [INFO] [stdout] 102 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 103 │- step_mode, [INFO] [stdout] 104 │- attributes: &Input0::VERTEX_ATTRIBUTES, [INFO] [stdout] 105 │- } [INFO] [stdout] 106 │- } [INFO] [stdout] 107 │-} [INFO] [stdout] 108 │-#[repr(C)] [INFO] [stdout] 109 │-#[derive(Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable)] [INFO] [stdout] 110 │-pub struct Outer { [INFO] [stdout] 111 │- pub inner: Inner, [INFO] [stdout] 112 │-} [INFO] [stdout] 113 │-const _: () = assert!( [INFO] [stdout] 114 │- std::mem::size_of::() == 4, [INFO] [stdout] 115 │- "size of Outer does not match WGSL" [INFO] [stdout] 116 │-); [INFO] [stdout] 117 │-const _: () = assert!( [INFO] [stdout] 118 │- std::mem::offset_of!(Outer, inner) == 0, [INFO] [stdout] 119 │- "offset of Outer.inner does not match WGSL" [INFO] [stdout] 120 │-); [INFO] [stdout] 1 │+pub const ENTRY_MAIN : & str = "main" ; # [derive (Debug)] pub struct VertexEntry < const N : usize > { pub entry_point : & 'static str , pub buffers : [wgpu :: VertexBufferLayout < 'static > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn vertex_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a VertexEntry < N > ,) -> wgpu :: VertexState < 'a > { wgpu :: VertexState { module , entry_point : Some (entry . entry_point) , buffers : & entry . buffers , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn main_entry (input0 : wgpu :: VertexStepMode ,) -> VertexEntry < 1 > { VertexEntry { entry_point : ENTRY_MAIN , buffers : [Input0 :: vertex_buffer_layout (input0)] , constants : Default :: default () } } pub const SOURCE : & str = include_str ! ("bytemuck_input_layout_validation.wgsl") ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Inner { pub a : f32 } const _ : () = assert ! (std :: mem :: size_of :: < Inner > () == 4 , "size of Inner does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Inner , a) == 0 , "offset of Inner.a does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f32 } const _ : () = assert ! (std :: mem :: size_of :: < Input0 > () == 64 , "size of Input0 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Input0 , a) == 0 , "offset of Input0.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Input0 , b) == 8 , "offset of Input0.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Input0 , c) == 32 , "offset of Input0.c does not match WGSL") ; impl Input0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 3] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Uint32 , offset : std :: mem :: offset_of ! (Input0 , a) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Sint32 , offset : std :: mem :: offset_of ! (Input0 , b) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32 , offset : std :: mem :: offset_of ! (Input0 , c) as u64 , shader_location : 2 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < Input0 > () as u64 , step_mode , attributes : & Input0 :: VERTEX_ATTRIBUTES } } } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Outer { pub inner : Inner } const _ : () = assert ! (std :: mem :: size_of :: < Outer > () == 4 , "size of Outer does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Outer , inner) == 0 , "offset of Outer.inner does not match WGSL") ; [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_all_structs_bytemuck_input_layout_validation' (29) panicked at src/structs.rs:538:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_all_structs_bytemuck_input_layout_validation.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f847f9 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f847f9 - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_input_layout_validation::{{closure}}::h31ad51d59ab24539 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f5067f - insta::settings::Settings::bind::h3e80ed18fa09d38c [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f8436a - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_input_layout_validation::h1260b381ddb980ad [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f84407 - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_input_layout_validation::{{closure}}::h0df176e157f5c80a [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:522:60 [INFO] [stdout] 25: 0x5cf523f73e86 - core::ops::function::FnOnce::call_once::h66326e8513d9d14a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_all_structs_bytemuck_f64_vec stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_all_structs_bytemuck_f64_vec' (26) panicked at src/structs.rs:507:9: [INFO] [stdout] assertion failed: `(left == right)` [INFO] [stdout] [INFO] [stdout] Diff < left / right > : [INFO] [stdout] <# [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f64 , } [INFO] [stdout] ># [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f64 } [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf523f8243f - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_f64_vec::had7fc2599ebdddbb [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:712:13 [INFO] [stdout] 20: 0x5cf523f824c7 - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_f64_vec::{{closure}}::h83b6615134abff70 [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:476:44 [INFO] [stdout] 21: 0x5cf523f745f6 - core::ops::function::FnOnce::call_once::he2cd6e8e4e95ba12 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x708d6bc2faa4 - [INFO] [stdout] 43: 0x708d6bcbca64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_all_structs_serde_encase_bytemuck stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_all_structs_serde_encase_bytemuck.snap [INFO] [stdout] Snapshot: write_all_structs_serde_encase_bytemuck [INFO] [stdout] Source: src/structs.rs:371 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod compute { [INFO] [stdout] 2 │- pub const MAIN_WORKGROUP_SIZE: [u32; 3] = [64, 1, 1]; [INFO] [stdout] 3 │- pub fn create_main_pipeline(device: &wgpu::Device) -> wgpu::ComputePipeline { [INFO] [stdout] 4 │- let module = super::create_shader_module(device); [INFO] [stdout] 5 │- let layout = super::create_pipeline_layout(device); [INFO] [stdout] 6 │- device.create_compute_pipeline(&wgpu::ComputePipelineDescriptor { [INFO] [stdout] 7 │- label: Some("Compute Pipeline main"), [INFO] [stdout] 8 │- layout: Some(&layout), [INFO] [stdout] 9 │- module: &module, [INFO] [stdout] 10 │- entry_point: Some("main"), [INFO] [stdout] 11 │- compilation_options: Default::default(), [INFO] [stdout] 12 │- cache: Default::default(), [INFO] [stdout] 13 │- }) [INFO] [stdout] 14 │- } [INFO] [stdout] 15 │-} [INFO] [stdout] 16 │-pub const ENTRY_MAIN: &str = "main"; [INFO] [stdout] 17 │-pub const SOURCE: &str = include_str!("serde_encase_bytemuck.wgsl"); [INFO] [stdout] 18 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 19 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 20 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 21 │- label: None, [INFO] [stdout] 22 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 23 │- }) [INFO] [stdout] 24 │-} [INFO] [stdout] 25 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 26 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 27 │- label: None, [INFO] [stdout] 28 │- bind_group_layouts: &[], [INFO] [stdout] 29 │- push_constant_ranges: &[], [INFO] [stdout] 30 │- }) [INFO] [stdout] 31 │-} [INFO] [stdout] 32 │-#[repr(C)] [INFO] [stdout] 33 │-#[derive( [INFO] [stdout] 34 │- Debug, [INFO] [stdout] 35 │- Copy, [INFO] [stdout] 36 │- Clone, [INFO] [stdout] 37 │- PartialEq, [INFO] [stdout] 38 │- bytemuck :: Pod, [INFO] [stdout] 39 │- bytemuck :: Zeroable, [INFO] [stdout] 40 │- encase :: ShaderType, [INFO] [stdout] 41 │- serde :: Serialize, [INFO] [stdout] 42 │- serde :: Deserialize, [INFO] [stdout] 43 │-)] [INFO] [stdout] 44 │-pub struct Input0 { [INFO] [stdout] 45 │- pub a: u32, [INFO] [stdout] 46 │- pub b: i32, [INFO] [stdout] 47 │- pub c: f32, [INFO] [stdout] 48 │-} [INFO] [stdout] 49 │-const _: () = assert!( [INFO] [stdout] 50 │- std::mem::size_of::() == 12, [INFO] [stdout] 51 │- "size of Input0 does not match WGSL" [INFO] [stdout] 52 │-); [INFO] [stdout] 53 │-const _: () = assert!( [INFO] [stdout] 54 │- std::mem::offset_of!(Input0, a) == 0, [INFO] [stdout] 55 │- "offset of Input0.a does not match WGSL" [INFO] [stdout] 56 │-); [INFO] [stdout] 57 │-const _: () = assert!( [INFO] [stdout] 58 │- std::mem::offset_of!(Input0, b) == 4, [INFO] [stdout] 59 │- "offset of Input0.b does not match WGSL" [INFO] [stdout] 60 │-); [INFO] [stdout] 61 │-const _: () = assert!( [INFO] [stdout] 62 │- std::mem::offset_of!(Input0, c) == 8, [INFO] [stdout] 63 │- "offset of Input0.c does not match WGSL" [INFO] [stdout] 64 │-); [INFO] [stdout] 65 │-#[repr(C)] [INFO] [stdout] 66 │-#[derive( [INFO] [stdout] 67 │- Debug, [INFO] [stdout] 68 │- Copy, [INFO] [stdout] 69 │- Clone, [INFO] [stdout] 70 │- PartialEq, [INFO] [stdout] 71 │- bytemuck :: Pod, [INFO] [stdout] 72 │- bytemuck :: Zeroable, [INFO] [stdout] 73 │- encase :: ShaderType, [INFO] [stdout] 74 │- serde :: Serialize, [INFO] [stdout] 75 │- serde :: Deserialize, [INFO] [stdout] 76 │-)] [INFO] [stdout] 77 │-pub struct Nested { [INFO] [stdout] 78 │- pub a: Input0, [INFO] [stdout] 79 │- pub b: f32, [INFO] [stdout] 80 │-} [INFO] [stdout] 81 │-const _: () = assert!( [INFO] [stdout] 82 │- std::mem::size_of::() == 16, [INFO] [stdout] 83 │- "size of Nested does not match WGSL" [INFO] [stdout] 84 │-); [INFO] [stdout] 85 │-const _: () = assert!( [INFO] [stdout] 86 │- std::mem::offset_of!(Nested, a) == 0, [INFO] [stdout] 87 │- "offset of Nested.a does not match WGSL" [INFO] [stdout] 88 │-); [INFO] [stdout] 89 │-const _: () = assert!( [INFO] [stdout] 90 │- std::mem::offset_of!(Nested, b) == 12, [INFO] [stdout] 91 │- "offset of Nested.b does not match WGSL" [INFO] [stdout] 92 │-); [INFO] [stdout] 1 │+pub mod compute { pub const MAIN_WORKGROUP_SIZE : [u32 ; 3] = [64 , 1 , 1] ; pub fn create_main_pipeline (device : & wgpu :: Device) -> wgpu :: ComputePipeline { let module = super :: create_shader_module (device) ; let layout = super :: create_pipeline_layout (device) ; device . create_compute_pipeline (& wgpu :: ComputePipelineDescriptor { label : Some ("Compute Pipeline main") , layout : Some (& layout) , module : & module , entry_point : Some ("main") , compilation_options : Default :: default () , cache : Default :: default () , }) } } pub const ENTRY_MAIN : & str = "main" ; pub const SOURCE : & str = include_str ! ("serde_encase_bytemuck.wgsl") ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType , serde :: Serialize , serde :: Deserialize)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f32 } const _ : () = assert ! (std :: mem :: size_of :: < Input0 > () == 12 , "size of Input0 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Input0 , a) == 0 , "offset of Input0.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Input0 , b) == 4 , "offset of Input0.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Input0 , c) == 8 , "offset of Input0.c does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType , serde :: Serialize , serde :: Deserialize)] pub struct Nested { pub a : Input0 , pub b : f32 } const _ : () = assert ! (std :: mem :: size_of :: < Nested > () == 16 , "size of Nested does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Nested , a) == 0 , "offset of Nested.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Nested , b) == 12 , "offset of Nested.b does not match WGSL") ; [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_all_structs_serde_encase_bytemuck' (1720) panicked at src/structs.rs:371:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_all_structs_serde_encase_bytemuck.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f83869 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f83869 - wgsl_to_wgpu::structs::tests::write_all_structs_serde_encase_bytemuck::{{closure}}::h51f7f6fd8f8c87d1 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f5053f - insta::settings::Settings::bind::h2bbffc0816dce253 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f8340a - wgsl_to_wgpu::structs::tests::write_all_structs_serde_encase_bytemuck::h0c3f212a4f9079a1 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f83957 - wgsl_to_wgpu::structs::tests::write_all_structs_serde_encase_bytemuck::{{closure}}::he5285eeb6a3d0064 [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:356:49 [INFO] [stdout] 25: 0x5cf523f745b6 - core::ops::function::FnOnce::call_once::he1fc257ce95973d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::add_duplicate_module_different_paths stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/add_duplicate_module_different_paths.snap [INFO] [stdout] Snapshot: add_duplicate_module_different_paths [INFO] [stdout] Source: src/lib.rs:1221 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod shader1 { [INFO] [stdout] 2 │- pub mod bind_groups { [INFO] [stdout] 3 │- #[derive(Debug)] [INFO] [stdout] 4 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 5 │- #[derive(Debug)] [INFO] [stdout] 6 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 7 │- pub uniforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 8 │- } [INFO] [stdout] 9 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = [INFO] [stdout] 10 │- wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 11 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 12 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 13 │- binding: 0, [INFO] [stdout] 14 │- visibility: wgpu::ShaderStages::FRAGMENT, [INFO] [stdout] 15 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 16 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 17 │- has_dynamic_offset: false, [INFO] [stdout] 18 │- min_binding_size: None, [INFO] [stdout] 19 │- }, [INFO] [stdout] 20 │- count: None, [INFO] [stdout] 21 │- }], [INFO] [stdout] 22 │- }; [INFO] [stdout] 23 │- impl BindGroup0 { [INFO] [stdout] 24 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 25 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 26 │- } [INFO] [stdout] 27 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 28 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 29 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 30 │- layout: &bind_group_layout, [INFO] [stdout] 31 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 32 │- binding: 0, [INFO] [stdout] 33 │- resource: wgpu::BindingResource::Buffer(bindings.uniforms), [INFO] [stdout] 34 │- }], [INFO] [stdout] 35 │- label: Some("BindGroup0"), [INFO] [stdout] 36 │- }); [INFO] [stdout] 37 │- Self(bind_group) [INFO] [stdout] 38 │- } [INFO] [stdout] 39 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 40 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 41 │- } [INFO] [stdout] 42 │- } [INFO] [stdout] 43 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 44 │- pub struct BindGroups<'a> { [INFO] [stdout] 45 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 46 │- } [INFO] [stdout] 47 │- impl BindGroups<'_> { [INFO] [stdout] 48 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 49 │- self.bind_group0.set(pass); [INFO] [stdout] 50 │- } [INFO] [stdout] 51 │- } [INFO] [stdout] 52 │- pub trait SetBindGroup { [INFO] [stdout] 53 │- fn set_bind_group( [INFO] [stdout] 54 │- &mut self, [INFO] [stdout] 55 │- index: u32, [INFO] [stdout] 56 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 57 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 58 │- ); [INFO] [stdout] 59 │- } [INFO] [stdout] 60 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 61 │- fn set_bind_group( [INFO] [stdout] 62 │- &mut self, [INFO] [stdout] 63 │- index: u32, [INFO] [stdout] 64 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 65 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 66 │- ) { [INFO] [stdout] 67 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 68 │- } [INFO] [stdout] 69 │- } [INFO] [stdout] 70 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 71 │- fn set_bind_group( [INFO] [stdout] 72 │- &mut self, [INFO] [stdout] 73 │- index: u32, [INFO] [stdout] 74 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 75 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 76 │- ) { [INFO] [stdout] 77 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 78 │- } [INFO] [stdout] 79 │- } [INFO] [stdout] 80 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 81 │- fn set_bind_group( [INFO] [stdout] 82 │- &mut self, [INFO] [stdout] 83 │- index: u32, [INFO] [stdout] 84 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 85 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 86 │- ) { [INFO] [stdout] 87 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 88 │- } [INFO] [stdout] 89 │- } [INFO] [stdout] 90 │- } [INFO] [stdout] 91 │- pub fn set_bind_groups( [INFO] [stdout] 92 │- pass: &mut P, [INFO] [stdout] 93 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 94 │- ) { [INFO] [stdout] 95 │- bind_group0.set(pass); [INFO] [stdout] 96 │- } [INFO] [stdout] 97 │- pub const ENTRY_VERT: &str = "vert"; [INFO] [stdout] 98 │- pub const ENTRY_FRAG: &str = "frag"; [INFO] [stdout] 99 │- #[derive(Debug)] [INFO] [stdout] 100 │- pub struct VertexEntry { [INFO] [stdout] 101 │- pub entry_point: &'static str, [INFO] [stdout] 102 │- pub buffers: [wgpu::VertexBufferLayout<'static>; N], [INFO] [stdout] 103 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 104 │- } [INFO] [stdout] 105 │- pub fn vertex_state<'a, const N: usize>( [INFO] [stdout] 106 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 107 │- entry: &'a VertexEntry, [INFO] [stdout] 108 │- ) -> wgpu::VertexState<'a> { [INFO] [stdout] 109 │- wgpu::VertexState { [INFO] [stdout] 110 │- module, [INFO] [stdout] 111 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 112 │- buffers: &entry.buffers, [INFO] [stdout] 113 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 114 │- constants: &entry.constants, [INFO] [stdout] 115 │- ..Default::default() [INFO] [stdout] 116 │- }, [INFO] [stdout] 117 │- } [INFO] [stdout] 118 │- } [INFO] [stdout] 119 │- pub fn vert_entry(vertex_input: wgpu::VertexStepMode) -> VertexEntry<1> { [INFO] [stdout] 120 │- VertexEntry { [INFO] [stdout] 121 │- entry_point: ENTRY_VERT, [INFO] [stdout] 122 │- buffers: [VertexInput::vertex_buffer_layout(vertex_input)], [INFO] [stdout] 123 │- constants: Default::default(), [INFO] [stdout] 124 │- } [INFO] [stdout] 125 │- } [INFO] [stdout] 126 │- #[derive(Debug)] [INFO] [stdout] 127 │- pub struct FragmentEntry { [INFO] [stdout] 128 │- pub entry_point: &'static str, [INFO] [stdout] 129 │- pub targets: [Option; N], [INFO] [stdout] 130 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 131 │- } [INFO] [stdout] 132 │- pub fn fragment_state<'a, const N: usize>( [INFO] [stdout] 133 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 134 │- entry: &'a FragmentEntry, [INFO] [stdout] 135 │- ) -> wgpu::FragmentState<'a> { [INFO] [stdout] 136 │- wgpu::FragmentState { [INFO] [stdout] 137 │- module, [INFO] [stdout] 138 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 139 │- targets: &entry.targets, [INFO] [stdout] 140 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 141 │- constants: &entry.constants, [INFO] [stdout] 142 │- ..Default::default() [INFO] [stdout] 143 │- }, [INFO] [stdout] 144 │- } [INFO] [stdout] 145 │- } [INFO] [stdout] 146 │- pub fn frag_entry(targets: [Option; 1]) -> FragmentEntry<1> { [INFO] [stdout] 147 │- FragmentEntry { [INFO] [stdout] 148 │- entry_point: ENTRY_FRAG, [INFO] [stdout] 149 │- targets, [INFO] [stdout] 150 │- constants: Default::default(), [INFO] [stdout] 151 │- } [INFO] [stdout] 152 │- } [INFO] [stdout] 153 │- pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; [INFO] [stdout] 154 │- pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 155 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 156 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 157 │- label: None, [INFO] [stdout] 158 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 159 │- }) [INFO] [stdout] 160 │- } [INFO] [stdout] 161 │- pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 162 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 163 │- label: None, [INFO] [stdout] 164 │- bind_group_layouts: &[&bind_groups::BindGroup0::get_bind_group_layout(device)], [INFO] [stdout] 165 │- push_constant_ranges: &[], [INFO] [stdout] 166 │- }) [INFO] [stdout] 167 │- } [INFO] [stdout] 168 │- #[repr(C)] [INFO] [stdout] 169 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 170 │- pub struct Root { [INFO] [stdout] 171 │- pub c: [f32; 4], [INFO] [stdout] 172 │- } [INFO] [stdout] 173 │-} [INFO] [stdout] 174 │-pub mod shaders { [INFO] [stdout] 175 │- pub mod shader2 { [INFO] [stdout] 176 │- pub mod bind_groups { [INFO] [stdout] 177 │- #[derive(Debug)] [INFO] [stdout] 178 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 179 │- #[derive(Debug)] [INFO] [stdout] 180 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 181 │- pub uniforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 182 │- } [INFO] [stdout] 183 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = [INFO] [stdout] 184 │- wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 185 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 186 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 187 │- binding: 0, [INFO] [stdout] 188 │- visibility: wgpu::ShaderStages::FRAGMENT, [INFO] [stdout] 189 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 190 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 191 │- has_dynamic_offset: false, [INFO] [stdout] 192 │- min_binding_size: None, [INFO] [stdout] 193 │- }, [INFO] [stdout] 194 │- count: None, [INFO] [stdout] 195 │- }], [INFO] [stdout] 196 │- }; [INFO] [stdout] 197 │- impl BindGroup0 { [INFO] [stdout] 198 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 199 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 200 │- } [INFO] [stdout] 201 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 202 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 203 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 204 │- layout: &bind_group_layout, [INFO] [stdout] 205 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 206 │- binding: 0, [INFO] [stdout] 207 │- resource: wgpu::BindingResource::Buffer(bindings.uniforms), [INFO] [stdout] 208 │- }], [INFO] [stdout] 209 │- label: Some("BindGroup0"), [INFO] [stdout] 210 │- }); [INFO] [stdout] 211 │- Self(bind_group) [INFO] [stdout] 212 │- } [INFO] [stdout] 213 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 214 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 215 │- } [INFO] [stdout] 216 │- } [INFO] [stdout] 217 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 218 │- pub struct BindGroups<'a> { [INFO] [stdout] 219 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 220 │- } [INFO] [stdout] 221 │- impl BindGroups<'_> { [INFO] [stdout] 222 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 223 │- self.bind_group0.set(pass); [INFO] [stdout] 224 │- } [INFO] [stdout] 225 │- } [INFO] [stdout] 226 │- pub trait SetBindGroup { [INFO] [stdout] 227 │- fn set_bind_group( [INFO] [stdout] 228 │- &mut self, [INFO] [stdout] 229 │- index: u32, [INFO] [stdout] 230 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 231 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 232 │- ); [INFO] [stdout] 233 │- } [INFO] [stdout] 234 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 235 │- fn set_bind_group( [INFO] [stdout] 236 │- &mut self, [INFO] [stdout] 237 │- index: u32, [INFO] [stdout] 238 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 239 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 240 │- ) { [INFO] [stdout] 241 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 242 │- } [INFO] [stdout] 243 │- } [INFO] [stdout] 244 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 245 │- fn set_bind_group( [INFO] [stdout] 246 │- &mut self, [INFO] [stdout] 247 │- index: u32, [INFO] [stdout] 248 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 249 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 250 │- ) { [INFO] [stdout] 251 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 252 │- } [INFO] [stdout] 253 │- } [INFO] [stdout] 254 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 255 │- fn set_bind_group( [INFO] [stdout] 256 │- &mut self, [INFO] [stdout] 257 │- index: u32, [INFO] [stdout] 258 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 259 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 260 │- ) { [INFO] [stdout] 261 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 262 │- } [INFO] [stdout] 263 │- } [INFO] [stdout] 264 │- } [INFO] [stdout] 265 │- pub fn set_bind_groups( [INFO] [stdout] 266 │- pass: &mut P, [INFO] [stdout] 267 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 268 │- ) { [INFO] [stdout] 269 │- bind_group0.set(pass); [INFO] [stdout] 270 │- } [INFO] [stdout] 271 │- pub const ENTRY_VERT: &str = "vert"; [INFO] [stdout] 272 │- pub const ENTRY_FRAG: &str = "frag"; [INFO] [stdout] 273 │- #[derive(Debug)] [INFO] [stdout] 274 │- pub struct VertexEntry { [INFO] [stdout] 275 │- pub entry_point: &'static str, [INFO] [stdout] 276 │- pub buffers: [wgpu::VertexBufferLayout<'static>; N], [INFO] [stdout] 277 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 278 │- } [INFO] [stdout] 279 │- pub fn vertex_state<'a, const N: usize>( [INFO] [stdout] 280 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 281 │- entry: &'a VertexEntry, [INFO] [stdout] 282 │- ) -> wgpu::VertexState<'a> { [INFO] [stdout] 283 │- wgpu::VertexState { [INFO] [stdout] 284 │- module, [INFO] [stdout] 285 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 286 │- buffers: &entry.buffers, [INFO] [stdout] 287 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 288 │- constants: &entry.constants, [INFO] [stdout] 289 │- ..Default::default() [INFO] [stdout] 290 │- }, [INFO] [stdout] 291 │- } [INFO] [stdout] 292 │- } [INFO] [stdout] 293 │- pub fn vert_entry(vertex_input: wgpu::VertexStepMode) -> VertexEntry<1> { [INFO] [stdout] 294 │- VertexEntry { [INFO] [stdout] 295 │- entry_point: ENTRY_VERT, [INFO] [stdout] 296 │- buffers: [VertexInput::vertex_buffer_layout(vertex_input)], [INFO] [stdout] 297 │- constants: Default::default(), [INFO] [stdout] 298 │- } [INFO] [stdout] 299 │- } [INFO] [stdout] 300 │- #[derive(Debug)] [INFO] [stdout] 301 │- pub struct FragmentEntry { [INFO] [stdout] 302 │- pub entry_point: &'static str, [INFO] [stdout] 303 │- pub targets: [Option; N], [INFO] [stdout] 304 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 305 │- } [INFO] [stdout] 306 │- pub fn fragment_state<'a, const N: usize>( [INFO] [stdout] 307 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 308 │- entry: &'a FragmentEntry, [INFO] [stdout] 309 │- ) -> wgpu::FragmentState<'a> { [INFO] [stdout] 310 │- wgpu::FragmentState { [INFO] [stdout] 311 │- module, [INFO] [stdout] 312 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 313 │- targets: &entry.targets, [INFO] [stdout] 314 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 315 │- constants: &entry.constants, [INFO] [stdout] 316 │- ..Default::default() [INFO] [stdout] 317 │- }, [INFO] [stdout] 318 │- } [INFO] [stdout] 319 │- } [INFO] [stdout] 320 │- pub fn frag_entry(targets: [Option; 1]) -> FragmentEntry<1> { [INFO] [stdout] 321 │- FragmentEntry { [INFO] [stdout] 322 │- entry_point: ENTRY_FRAG, [INFO] [stdout] 323 │- targets, [INFO] [stdout] 324 │- constants: Default::default(), [INFO] [stdout] 325 │- } [INFO] [stdout] 326 │- } [INFO] [stdout] 327 │- pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; [INFO] [stdout] 328 │- pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 329 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 330 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 331 │- label: None, [INFO] [stdout] 332 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 333 │- }) [INFO] [stdout] 334 │- } [INFO] [stdout] 335 │- pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 336 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 337 │- label: None, [INFO] [stdout] 338 │- bind_group_layouts: &[&bind_groups::BindGroup0::get_bind_group_layout(device)], [INFO] [stdout] 339 │- push_constant_ranges: &[], [INFO] [stdout] 340 │- }) [INFO] [stdout] 341 │- } [INFO] [stdout] 342 │- #[repr(C)] [INFO] [stdout] 343 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 344 │- pub struct Root { [INFO] [stdout] 345 │- pub c: [f32; 4], [INFO] [stdout] 346 │- } [INFO] [stdout] 347 │- } [INFO] [stdout] 348 │-} [INFO] [stdout] 349 │-pub mod shared { [INFO] [stdout] 350 │- #[repr(C)] [INFO] [stdout] 351 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 352 │- pub struct Shared { [INFO] [stdout] 353 │- pub d: [f32; 4], [INFO] [stdout] 354 │- } [INFO] [stdout] 355 │- pub const TEST: f32 = 1f32; [INFO] [stdout] 356 │- #[repr(C)] [INFO] [stdout] 357 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 358 │- pub struct VertexInput { [INFO] [stdout] 359 │- pub position: [f32; 3], [INFO] [stdout] 360 │- } [INFO] [stdout] 361 │- impl VertexInput { [INFO] [stdout] 362 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 1] = [wgpu::VertexAttribute { [INFO] [stdout] 363 │- format: wgpu::VertexFormat::Float32x3, [INFO] [stdout] 364 │- offset: std::mem::offset_of!(VertexInput, position) as u64, [INFO] [stdout] 365 │- shader_location: 0, [INFO] [stdout] 366 │- }]; [INFO] [stdout] 367 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 368 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 369 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 370 │- wgpu::VertexBufferLayout { [INFO] [stdout] 371 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 372 │- step_mode, [INFO] [stdout] 373 │- attributes: &VertexInput::VERTEX_ATTRIBUTES, [INFO] [stdout] 374 │- } [INFO] [stdout] 375 │- } [INFO] [stdout] 376 │- } [INFO] [stdout] 377 │-} [INFO] [stdout] 378 │-pub mod uniforms { [INFO] [stdout] 379 │- #[repr(C)] [INFO] [stdout] 380 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 381 │- pub struct Uniforms { [INFO] [stdout] 382 │- pub a: [f32; 4], [INFO] [stdout] 383 │- pub b: nested::Nested, [INFO] [stdout] 384 │- } [INFO] [stdout] 385 │- pub mod nested { [INFO] [stdout] 386 │- #[repr(C)] [INFO] [stdout] 387 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 388 │- pub struct Nested { [INFO] [stdout] 389 │- pub a: [f32; 4], [INFO] [stdout] 390 │- pub b: super::super::Root, [INFO] [stdout] 391 │- pub c: super::super::shared::Shared, [INFO] [stdout] 392 │- } [INFO] [stdout] 393 │- } [INFO] [stdout] 394 │-} [INFO] [stdout] 1 │+pub mod shader1 { pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub uniforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . uniforms) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } pub const ENTRY_VERT : & str = "vert" ; pub const ENTRY_FRAG : & str = "frag" ; # [derive (Debug)] pub struct VertexEntry < const N : usize > { pub entry_point : & 'static str , pub buffers : [wgpu :: VertexBufferLayout < 'static > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn vertex_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a VertexEntry < N > ,) -> wgpu :: VertexState < 'a > { wgpu :: VertexState { module , entry_point : Some (entry . entry_point) , buffers : & entry . buffers , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn vert_entry (vertex_input : wgpu :: VertexStepMode ,) -> VertexEntry < 1 > { VertexEntry { entry_point : ENTRY_VERT , buffers : [VertexInput :: vertex_buffer_layout (vertex_input)] , constants : Default :: default () } } # [derive (Debug)] pub struct FragmentEntry < const N : usize > { pub entry_point : & 'static str , pub targets : [Option < wgpu :: ColorTargetState > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn fragment_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a FragmentEntry < N > ,) -> wgpu :: FragmentState < 'a > { wgpu :: FragmentState { module , entry_point : Some (entry . entry_point) , targets : & entry . targets , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn frag_entry (targets : [Option < wgpu :: ColorTargetState > ; 1] ,) -> FragmentEntry < 1 > { FragmentEntry { entry_point : ENTRY_FRAG , targets , constants : Default :: default () } } pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [& bind_groups :: BindGroup0 :: get_bind_group_layout (device)] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Root { pub c : [f32 ; 4] } } pub mod shaders { pub mod shader2 { pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub uniforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . uniforms) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } pub const ENTRY_VERT : & str = "vert" ; pub const ENTRY_FRAG : & str = "frag" ; # [derive (Debug)] pub struct VertexEntry < const N : usize > { pub entry_point : & 'static str , pub buffers : [wgpu :: VertexBufferLayout < 'static > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn vertex_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a VertexEntry < N > ,) -> wgpu :: VertexState < 'a > { wgpu :: VertexState { module , entry_point : Some (entry . entry_point) , buffers : & entry . buffers , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn vert_entry (vertex_input : wgpu :: VertexStepMode ,) -> VertexEntry < 1 > { VertexEntry { entry_point : ENTRY_VERT , buffers : [VertexInput :: vertex_buffer_layout (vertex_input)] , constants : Default :: default () } } # [derive (Debug)] pub struct FragmentEntry < const N : usize > { pub entry_point : & 'static str , pub targets : [Option < wgpu :: ColorTargetState > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn fragment_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a FragmentEntry < N > ,) -> wgpu :: FragmentState < 'a > { wgpu :: FragmentState { module , entry_point : Some (entry . entry_point) , targets : & entry . targets , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn frag_entry (targets : [Option < wgpu :: ColorTargetState > ; 1] ,) -> FragmentEntry < 1 > { FragmentEntry { entry_point : ENTRY_FRAG , targets , constants : Default :: default () } } pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [& bind_groups :: BindGroup0 :: get_bind_group_layout (device)] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Root { pub c : [f32 ; 4] } } } pub mod shared { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Shared { pub d : [f32 ; 4] } pub const TEST : f32 = 1f32 ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct VertexInput { pub position : [f32 ; 3] } impl VertexInput { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 1] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x3 , offset : std :: mem :: offset_of ! (VertexInput , position) as u64 , shader_location : 0 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput > () as u64 , step_mode , attributes : & VertexInput :: VERTEX_ATTRIBUTES } } } } pub mod uniforms { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Uniforms { pub a : [f32 ; 4] , pub b : nested :: Nested } pub mod nested { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Nested { pub a : [f32 ; 4] , pub b : super :: super :: Root , pub c : super :: super :: shared :: Shared } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::add_duplicate_module_different_paths' (1937) panicked at src/lib.rs:1221:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/add_duplicate_module_different_paths.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f21f09 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f21f09 - wgsl_to_wgpu::test::add_duplicate_module_different_paths::{{closure}}::haffddc7d61d8aee1 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f511bf - insta::settings::Settings::bind::hc317bfdeaeb6b72e [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f21a5b - wgsl_to_wgpu::test::add_duplicate_module_different_paths::h3be9dc5ecf16b1a9 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f21b17 - wgsl_to_wgpu::test::add_duplicate_module_different_paths::{{closure}}::ha9c15f89c4bde346 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1192:46 [INFO] [stdout] 25: 0x5cf523f73bc6 - core::ops::function::FnOnce::call_once::h30fb7f9bbc33f18f [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::add_single_root_module stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/add_single_root_module.snap [INFO] [stdout] Snapshot: add_single_root_module [INFO] [stdout] Source: src/lib.rs:1188 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub uniforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 7 │- } [INFO] [stdout] 8 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 9 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 10 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 11 │- binding: 0, [INFO] [stdout] 12 │- visibility: wgpu::ShaderStages::FRAGMENT, [INFO] [stdout] 13 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 14 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 15 │- has_dynamic_offset: false, [INFO] [stdout] 16 │- min_binding_size: None, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- count: None, [INFO] [stdout] 19 │- }], [INFO] [stdout] 20 │- }; [INFO] [stdout] 21 │- impl BindGroup0 { [INFO] [stdout] 22 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 23 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 24 │- } [INFO] [stdout] 25 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 26 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 27 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 28 │- layout: &bind_group_layout, [INFO] [stdout] 29 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 30 │- binding: 0, [INFO] [stdout] 31 │- resource: wgpu::BindingResource::Buffer(bindings.uniforms), [INFO] [stdout] 32 │- }], [INFO] [stdout] 33 │- label: Some("BindGroup0"), [INFO] [stdout] 34 │- }); [INFO] [stdout] 35 │- Self(bind_group) [INFO] [stdout] 36 │- } [INFO] [stdout] 37 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 38 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 39 │- } [INFO] [stdout] 40 │- } [INFO] [stdout] 41 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 42 │- pub struct BindGroups<'a> { [INFO] [stdout] 43 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 44 │- } [INFO] [stdout] 45 │- impl BindGroups<'_> { [INFO] [stdout] 46 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 47 │- self.bind_group0.set(pass); [INFO] [stdout] 48 │- } [INFO] [stdout] 49 │- } [INFO] [stdout] 50 │- pub trait SetBindGroup { [INFO] [stdout] 51 │- fn set_bind_group( [INFO] [stdout] 52 │- &mut self, [INFO] [stdout] 53 │- index: u32, [INFO] [stdout] 54 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 55 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 56 │- ); [INFO] [stdout] 57 │- } [INFO] [stdout] 58 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 59 │- fn set_bind_group( [INFO] [stdout] 60 │- &mut self, [INFO] [stdout] 61 │- index: u32, [INFO] [stdout] 62 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 63 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 64 │- ) { [INFO] [stdout] 65 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 66 │- } [INFO] [stdout] 67 │- } [INFO] [stdout] 68 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 69 │- fn set_bind_group( [INFO] [stdout] 70 │- &mut self, [INFO] [stdout] 71 │- index: u32, [INFO] [stdout] 72 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 73 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 74 │- ) { [INFO] [stdout] 75 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 76 │- } [INFO] [stdout] 77 │- } [INFO] [stdout] 78 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 79 │- fn set_bind_group( [INFO] [stdout] 80 │- &mut self, [INFO] [stdout] 81 │- index: u32, [INFO] [stdout] 82 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 83 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 84 │- ) { [INFO] [stdout] 85 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 86 │- } [INFO] [stdout] 87 │- } [INFO] [stdout] 88 │-} [INFO] [stdout] 89 │-pub fn set_bind_groups( [INFO] [stdout] 90 │- pass: &mut P, [INFO] [stdout] 91 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 92 │-) { [INFO] [stdout] 93 │- bind_group0.set(pass); [INFO] [stdout] 94 │-} [INFO] [stdout] 95 │-pub const ENTRY_VERT: &str = "vert"; [INFO] [stdout] 96 │-pub const ENTRY_FRAG: &str = "frag"; [INFO] [stdout] 97 │-#[derive(Debug)] [INFO] [stdout] 98 │-pub struct VertexEntry { [INFO] [stdout] 99 │- pub entry_point: &'static str, [INFO] [stdout] 100 │- pub buffers: [wgpu::VertexBufferLayout<'static>; N], [INFO] [stdout] 101 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 102 │-} [INFO] [stdout] 103 │-pub fn vertex_state<'a, const N: usize>( [INFO] [stdout] 104 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 105 │- entry: &'a VertexEntry, [INFO] [stdout] 106 │-) -> wgpu::VertexState<'a> { [INFO] [stdout] 107 │- wgpu::VertexState { [INFO] [stdout] 108 │- module, [INFO] [stdout] 109 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 110 │- buffers: &entry.buffers, [INFO] [stdout] 111 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 112 │- constants: &entry.constants, [INFO] [stdout] 113 │- ..Default::default() [INFO] [stdout] 114 │- }, [INFO] [stdout] 115 │- } [INFO] [stdout] 116 │-} [INFO] [stdout] 117 │-pub fn vert_entry(vertex_input: wgpu::VertexStepMode) -> VertexEntry<1> { [INFO] [stdout] 118 │- VertexEntry { [INFO] [stdout] 119 │- entry_point: ENTRY_VERT, [INFO] [stdout] 120 │- buffers: [VertexInput::vertex_buffer_layout(vertex_input)], [INFO] [stdout] 121 │- constants: Default::default(), [INFO] [stdout] 122 │- } [INFO] [stdout] 123 │-} [INFO] [stdout] 124 │-#[derive(Debug)] [INFO] [stdout] 125 │-pub struct FragmentEntry { [INFO] [stdout] 126 │- pub entry_point: &'static str, [INFO] [stdout] 127 │- pub targets: [Option; N], [INFO] [stdout] 128 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 129 │-} [INFO] [stdout] 130 │-pub fn fragment_state<'a, const N: usize>( [INFO] [stdout] 131 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 132 │- entry: &'a FragmentEntry, [INFO] [stdout] 133 │-) -> wgpu::FragmentState<'a> { [INFO] [stdout] 134 │- wgpu::FragmentState { [INFO] [stdout] 135 │- module, [INFO] [stdout] 136 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 137 │- targets: &entry.targets, [INFO] [stdout] 138 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 139 │- constants: &entry.constants, [INFO] [stdout] 140 │- ..Default::default() [INFO] [stdout] 141 │- }, [INFO] [stdout] 142 │- } [INFO] [stdout] 143 │-} [INFO] [stdout] 144 │-pub fn frag_entry(targets: [Option; 1]) -> FragmentEntry<1> { [INFO] [stdout] 145 │- FragmentEntry { [INFO] [stdout] 146 │- entry_point: ENTRY_FRAG, [INFO] [stdout] 147 │- targets, [INFO] [stdout] 148 │- constants: Default::default(), [INFO] [stdout] 149 │- } [INFO] [stdout] 150 │-} [INFO] [stdout] 151 │-pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; [INFO] [stdout] 152 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 153 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 154 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 155 │- label: None, [INFO] [stdout] 156 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 157 │- }) [INFO] [stdout] 158 │-} [INFO] [stdout] 159 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 160 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 161 │- label: None, [INFO] [stdout] 162 │- bind_group_layouts: &[&bind_groups::BindGroup0::get_bind_group_layout(device)], [INFO] [stdout] 163 │- push_constant_ranges: &[], [INFO] [stdout] 164 │- }) [INFO] [stdout] 165 │-} [INFO] [stdout] 166 │-#[repr(C)] [INFO] [stdout] 167 │-#[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 168 │-pub struct Root { [INFO] [stdout] 169 │- pub c: [f32; 4], [INFO] [stdout] 170 │-} [INFO] [stdout] 171 │-pub mod shared { [INFO] [stdout] 172 │- #[repr(C)] [INFO] [stdout] 173 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 174 │- pub struct Shared { [INFO] [stdout] 175 │- pub d: [f32; 4], [INFO] [stdout] 176 │- } [INFO] [stdout] 177 │- pub const TEST: f32 = 1f32; [INFO] [stdout] 178 │- #[repr(C)] [INFO] [stdout] 179 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 180 │- pub struct VertexInput { [INFO] [stdout] 181 │- pub position: [f32; 3], [INFO] [stdout] 182 │- } [INFO] [stdout] 183 │- impl VertexInput { [INFO] [stdout] 184 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 1] = [wgpu::VertexAttribute { [INFO] [stdout] 185 │- format: wgpu::VertexFormat::Float32x3, [INFO] [stdout] 186 │- offset: std::mem::offset_of!(VertexInput, position) as u64, [INFO] [stdout] 187 │- shader_location: 0, [INFO] [stdout] 188 │- }]; [INFO] [stdout] 189 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 190 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 191 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 192 │- wgpu::VertexBufferLayout { [INFO] [stdout] 193 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 194 │- step_mode, [INFO] [stdout] 195 │- attributes: &VertexInput::VERTEX_ATTRIBUTES, [INFO] [stdout] 196 │- } [INFO] [stdout] 197 │- } [INFO] [stdout] 198 │- } [INFO] [stdout] 199 │-} [INFO] [stdout] 200 │-pub mod uniforms { [INFO] [stdout] 201 │- #[repr(C)] [INFO] [stdout] 202 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 203 │- pub struct Uniforms { [INFO] [stdout] 204 │- pub a: [f32; 4], [INFO] [stdout] 205 │- pub b: nested::Nested, [INFO] [stdout] 206 │- } [INFO] [stdout] 207 │- pub mod nested { [INFO] [stdout] 208 │- #[repr(C)] [INFO] [stdout] 209 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 210 │- pub struct Nested { [INFO] [stdout] 211 │- pub a: [f32; 4], [INFO] [stdout] 212 │- pub b: super::super::Root, [INFO] [stdout] 213 │- pub c: super::super::shared::Shared, [INFO] [stdout] 214 │- } [INFO] [stdout] 215 │- } [INFO] [stdout] 216 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub uniforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . uniforms) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } pub const ENTRY_VERT : & str = "vert" ; pub const ENTRY_FRAG : & str = "frag" ; # [derive (Debug)] pub struct VertexEntry < const N : usize > { pub entry_point : & 'static str , pub buffers : [wgpu :: VertexBufferLayout < 'static > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn vertex_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a VertexEntry < N > ,) -> wgpu :: VertexState < 'a > { wgpu :: VertexState { module , entry_point : Some (entry . entry_point) , buffers : & entry . buffers , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn vert_entry (vertex_input : wgpu :: VertexStepMode ,) -> VertexEntry < 1 > { VertexEntry { entry_point : ENTRY_VERT , buffers : [VertexInput :: vertex_buffer_layout (vertex_input)] , constants : Default :: default () } } # [derive (Debug)] pub struct FragmentEntry < const N : usize > { pub entry_point : & 'static str , pub targets : [Option < wgpu :: ColorTargetState > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn fragment_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a FragmentEntry < N > ,) -> wgpu :: FragmentState < 'a > { wgpu :: FragmentState { module , entry_point : Some (entry . entry_point) , targets : & entry . targets , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn frag_entry (targets : [Option < wgpu :: ColorTargetState > ; 1] ,) -> FragmentEntry < 1 > { FragmentEntry { entry_point : ENTRY_FRAG , targets , constants : Default :: default () } } pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [& bind_groups :: BindGroup0 :: get_bind_group_layout (device)] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Root { pub c : [f32 ; 4] } pub mod shared { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Shared { pub d : [f32 ; 4] } pub const TEST : f32 = 1f32 ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct VertexInput { pub position : [f32 ; 3] } impl VertexInput { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 1] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x3 , offset : std :: mem :: offset_of ! (VertexInput , position) as u64 , shader_location : 0 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput > () as u64 , step_mode , attributes : & VertexInput :: VERTEX_ATTRIBUTES } } } } pub mod uniforms { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Uniforms { pub a : [f32 ; 4] , pub b : nested :: Nested } pub mod nested { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Nested { pub a : [f32 ; 4] , pub b : super :: super :: Root , pub c : super :: super :: shared :: Shared } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::add_single_root_module' (2027) panicked at src/lib.rs:1188:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/add_single_root_module.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f1e349 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f1e349 - wgsl_to_wgpu::test::add_single_root_module::{{closure}}::hc071af468efd4552 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f5087f - insta::settings::Settings::bind::h50f65e6191694a91 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f1deab - wgsl_to_wgpu::test::add_single_root_module::hf4eb6a9a5c0f9708 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f1df57 - wgsl_to_wgpu::test::add_single_root_module::{{closure}}::h90765320e52d9ed8 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1172:32 [INFO] [stdout] 25: 0x5cf523f746b6 - core::ops::function::FnOnce::call_once::hf81a4b2f38b50f70 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_runtime_sized_array stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_runtime_sized_array' (1819) panicked at src/structs.rs:562:9: [INFO] [stdout] assertion failed: `(left == right)` [INFO] [stdout] [INFO] [stdout] Diff < left / right > : [INFO] [stdout] <# [derive (Debug , Clone , PartialEq , encase :: ShaderType)] pub struct RtsStruct { pub other_data : i32 , # [shader (size (runtime))] pub the_array : Vec < u32 > , } [INFO] [stdout] ># [derive (Debug , Clone , PartialEq , encase :: ShaderType)] pub struct RtsStruct { pub other_data : i32 , # [shader (size (runtime))] pub the_array : Vec < u32 > } [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf523f808f1 - wgsl_to_wgpu::structs::tests::write_runtime_sized_array::hd9d0559b02cb6f50 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:712:13 [INFO] [stdout] 20: 0x5cf523f80977 - wgsl_to_wgpu::structs::tests::write_runtime_sized_array::{{closure}}::h49351873bfafb7eb [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:542:35 [INFO] [stdout] 21: 0x5cf523f73b16 - core::ops::function::FnOnce::call_once::h1f719c54afcfdc63 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x708d6bc2faa4 - [INFO] [stdout] 43: 0x708d6bcbca64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_all_structs_encase_bytemuck stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_all_structs_encase_bytemuck.snap [INFO] [stdout] Snapshot: write_all_structs_encase_bytemuck [INFO] [stdout] Source: src/structs.rs:352 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub const ENTRY_MAIN: &str = "main"; [INFO] [stdout] 2 │-#[derive(Debug)] [INFO] [stdout] 3 │-pub struct FragmentEntry { [INFO] [stdout] 4 │- pub entry_point: &'static str, [INFO] [stdout] 5 │- pub targets: [Option; N], [INFO] [stdout] 6 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 7 │-} [INFO] [stdout] 8 │-pub fn fragment_state<'a, const N: usize>( [INFO] [stdout] 9 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 10 │- entry: &'a FragmentEntry, [INFO] [stdout] 11 │-) -> wgpu::FragmentState<'a> { [INFO] [stdout] 12 │- wgpu::FragmentState { [INFO] [stdout] 13 │- module, [INFO] [stdout] 14 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 15 │- targets: &entry.targets, [INFO] [stdout] 16 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 17 │- constants: &entry.constants, [INFO] [stdout] 18 │- ..Default::default() [INFO] [stdout] 19 │- }, [INFO] [stdout] 20 │- } [INFO] [stdout] 21 │-} [INFO] [stdout] 22 │-pub fn main_entry(targets: [Option; 0]) -> FragmentEntry<0> { [INFO] [stdout] 23 │- FragmentEntry { [INFO] [stdout] 24 │- entry_point: ENTRY_MAIN, [INFO] [stdout] 25 │- targets, [INFO] [stdout] 26 │- constants: Default::default(), [INFO] [stdout] 27 │- } [INFO] [stdout] 28 │-} [INFO] [stdout] 29 │-pub const SOURCE: &str = include_str!("types.wgsl"); [INFO] [stdout] 30 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 31 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 32 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 33 │- label: None, [INFO] [stdout] 34 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 35 │- }) [INFO] [stdout] 36 │-} [INFO] [stdout] 37 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 38 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 39 │- label: None, [INFO] [stdout] 40 │- bind_group_layouts: &[], [INFO] [stdout] 41 │- push_constant_ranges: &[], [INFO] [stdout] 42 │- }) [INFO] [stdout] 43 │-} [INFO] [stdout] 44 │-#[repr(C)] [INFO] [stdout] 45 │-#[derive( [INFO] [stdout] 46 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 47 │-)] [INFO] [stdout] 48 │-pub struct Atomics { [INFO] [stdout] 49 │- pub num: u32, [INFO] [stdout] 50 │- pub numi: i32, [INFO] [stdout] 51 │-} [INFO] [stdout] 52 │-const _: () = assert!( [INFO] [stdout] 53 │- std::mem::size_of::() == 8, [INFO] [stdout] 54 │- "size of Atomics does not match WGSL" [INFO] [stdout] 55 │-); [INFO] [stdout] 56 │-const _: () = assert!( [INFO] [stdout] 57 │- std::mem::offset_of!(Atomics, num) == 0, [INFO] [stdout] 58 │- "offset of Atomics.num does not match WGSL" [INFO] [stdout] 59 │-); [INFO] [stdout] 60 │-const _: () = assert!( [INFO] [stdout] 61 │- std::mem::offset_of!(Atomics, numi) == 4, [INFO] [stdout] 62 │- "offset of Atomics.numi does not match WGSL" [INFO] [stdout] 63 │-); [INFO] [stdout] 64 │-#[repr(C)] [INFO] [stdout] 65 │-#[derive( [INFO] [stdout] 66 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 67 │-)] [INFO] [stdout] 68 │-pub struct MatricesF16 { [INFO] [stdout] 69 │- pub a: [[half::f16; 4]; 4], [INFO] [stdout] 70 │- pub b: [[half::f16; 4]; 3], [INFO] [stdout] 71 │- pub c: [[half::f16; 4]; 2], [INFO] [stdout] 72 │- pub d: [[half::f16; 3]; 4], [INFO] [stdout] 73 │- pub e: [[half::f16; 3]; 3], [INFO] [stdout] 74 │- pub f: [[half::f16; 3]; 2], [INFO] [stdout] 75 │- pub g: [[half::f16; 2]; 4], [INFO] [stdout] 76 │- pub h: [[half::f16; 2]; 3], [INFO] [stdout] 77 │- pub i: [[half::f16; 2]; 2], [INFO] [stdout] 78 │-} [INFO] [stdout] 79 │-const _: () = assert!( [INFO] [stdout] 80 │- std::mem::size_of::() == 184, [INFO] [stdout] 81 │- "size of MatricesF16 does not match WGSL" [INFO] [stdout] 82 │-); [INFO] [stdout] 83 │-const _: () = assert!( [INFO] [stdout] 84 │- std::mem::offset_of!(MatricesF16, a) == 0, [INFO] [stdout] 85 │- "offset of MatricesF16.a does not match WGSL" [INFO] [stdout] 86 │-); [INFO] [stdout] 87 │-const _: () = assert!( [INFO] [stdout] 88 │- std::mem::offset_of!(MatricesF16, b) == 32, [INFO] [stdout] 89 │- "offset of MatricesF16.b does not match WGSL" [INFO] [stdout] 90 │-); [INFO] [stdout] 91 │-const _: () = assert!( [INFO] [stdout] 92 │- std::mem::offset_of!(MatricesF16, c) == 64, [INFO] [stdout] 93 │- "offset of MatricesF16.c does not match WGSL" [INFO] [stdout] 94 │-); [INFO] [stdout] 95 │-const _: () = assert!( [INFO] [stdout] 96 │- std::mem::offset_of!(MatricesF16, d) == 80, [INFO] [stdout] 97 │- "offset of MatricesF16.d does not match WGSL" [INFO] [stdout] 98 │-); [INFO] [stdout] 99 │-const _: () = assert!( [INFO] [stdout] 100 │- std::mem::offset_of!(MatricesF16, e) == 104, [INFO] [stdout] 101 │- "offset of MatricesF16.e does not match WGSL" [INFO] [stdout] 102 │-); [INFO] [stdout] 103 │-const _: () = assert!( [INFO] [stdout] 104 │- std::mem::offset_of!(MatricesF16, f) == 128, [INFO] [stdout] 105 │- "offset of MatricesF16.f does not match WGSL" [INFO] [stdout] 106 │-); [INFO] [stdout] 107 │-const _: () = assert!( [INFO] [stdout] 108 │- std::mem::offset_of!(MatricesF16, g) == 144, [INFO] [stdout] 109 │- "offset of MatricesF16.g does not match WGSL" [INFO] [stdout] 110 │-); [INFO] [stdout] 111 │-const _: () = assert!( [INFO] [stdout] 112 │- std::mem::offset_of!(MatricesF16, h) == 160, [INFO] [stdout] 113 │- "offset of MatricesF16.h does not match WGSL" [INFO] [stdout] 114 │-); [INFO] [stdout] 115 │-const _: () = assert!( [INFO] [stdout] 116 │- std::mem::offset_of!(MatricesF16, i) == 176, [INFO] [stdout] 117 │- "offset of MatricesF16.i does not match WGSL" [INFO] [stdout] 118 │-); [INFO] [stdout] 119 │-#[repr(C)] [INFO] [stdout] 120 │-#[derive( [INFO] [stdout] 121 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 122 │-)] [INFO] [stdout] 123 │-pub struct MatricesF32 { [INFO] [stdout] 124 │- pub a: [[f32; 4]; 4], [INFO] [stdout] 125 │- pub b: [[f32; 4]; 3], [INFO] [stdout] 126 │- pub c: [[f32; 4]; 2], [INFO] [stdout] 127 │- pub d: [[f32; 3]; 4], [INFO] [stdout] 128 │- pub e: [[f32; 3]; 3], [INFO] [stdout] 129 │- pub f: [[f32; 3]; 2], [INFO] [stdout] 130 │- pub g: [[f32; 2]; 4], [INFO] [stdout] 131 │- pub h: [[f32; 2]; 3], [INFO] [stdout] 132 │- pub i: [[f32; 2]; 2], [INFO] [stdout] 133 │-} [INFO] [stdout] 134 │-const _: () = assert!( [INFO] [stdout] 135 │- std::mem::size_of::() == 368, [INFO] [stdout] 136 │- "size of MatricesF32 does not match WGSL" [INFO] [stdout] 137 │-); [INFO] [stdout] 138 │-const _: () = assert!( [INFO] [stdout] 139 │- std::mem::offset_of!(MatricesF32, a) == 0, [INFO] [stdout] 140 │- "offset of MatricesF32.a does not match WGSL" [INFO] [stdout] 141 │-); [INFO] [stdout] 142 │-const _: () = assert!( [INFO] [stdout] 143 │- std::mem::offset_of!(MatricesF32, b) == 64, [INFO] [stdout] 144 │- "offset of MatricesF32.b does not match WGSL" [INFO] [stdout] 145 │-); [INFO] [stdout] 146 │-const _: () = assert!( [INFO] [stdout] 147 │- std::mem::offset_of!(MatricesF32, c) == 128, [INFO] [stdout] 148 │- "offset of MatricesF32.c does not match WGSL" [INFO] [stdout] 149 │-); [INFO] [stdout] 150 │-const _: () = assert!( [INFO] [stdout] 151 │- std::mem::offset_of!(MatricesF32, d) == 160, [INFO] [stdout] 152 │- "offset of MatricesF32.d does not match WGSL" [INFO] [stdout] 153 │-); [INFO] [stdout] 154 │-const _: () = assert!( [INFO] [stdout] 155 │- std::mem::offset_of!(MatricesF32, e) == 208, [INFO] [stdout] 156 │- "offset of MatricesF32.e does not match WGSL" [INFO] [stdout] 157 │-); [INFO] [stdout] 158 │-const _: () = assert!( [INFO] [stdout] 159 │- std::mem::offset_of!(MatricesF32, f) == 256, [INFO] [stdout] 160 │- "offset of MatricesF32.f does not match WGSL" [INFO] [stdout] 161 │-); [INFO] [stdout] 162 │-const _: () = assert!( [INFO] [stdout] 163 │- std::mem::offset_of!(MatricesF32, g) == 288, [INFO] [stdout] 164 │- "offset of MatricesF32.g does not match WGSL" [INFO] [stdout] 165 │-); [INFO] [stdout] 166 │-const _: () = assert!( [INFO] [stdout] 167 │- std::mem::offset_of!(MatricesF32, h) == 320, [INFO] [stdout] 168 │- "offset of MatricesF32.h does not match WGSL" [INFO] [stdout] 169 │-); [INFO] [stdout] 170 │-const _: () = assert!( [INFO] [stdout] 171 │- std::mem::offset_of!(MatricesF32, i) == 352, [INFO] [stdout] 172 │- "offset of MatricesF32.i does not match WGSL" [INFO] [stdout] 173 │-); [INFO] [stdout] 174 │-#[repr(C)] [INFO] [stdout] 175 │-#[derive( [INFO] [stdout] 176 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 177 │-)] [INFO] [stdout] 178 │-pub struct MatricesF64 { [INFO] [stdout] 179 │- pub a: [[f64; 4]; 4], [INFO] [stdout] 180 │- pub b: [[f64; 4]; 3], [INFO] [stdout] 181 │- pub c: [[f64; 4]; 2], [INFO] [stdout] 182 │- pub d: [[f64; 3]; 4], [INFO] [stdout] 183 │- pub e: [[f64; 3]; 3], [INFO] [stdout] 184 │- pub f: [[f64; 3]; 2], [INFO] [stdout] 185 │- pub g: [[f64; 2]; 4], [INFO] [stdout] 186 │- pub h: [[f64; 2]; 3], [INFO] [stdout] 187 │- pub i: [[f64; 2]; 2], [INFO] [stdout] 188 │-} [INFO] [stdout] 189 │-const _: () = assert!( [INFO] [stdout] 190 │- std::mem::size_of::() == 736, [INFO] [stdout] 191 │- "size of MatricesF64 does not match WGSL" [INFO] [stdout] 192 │-); [INFO] [stdout] 193 │-const _: () = assert!( [INFO] [stdout] 194 │- std::mem::offset_of!(MatricesF64, a) == 0, [INFO] [stdout] 195 │- "offset of MatricesF64.a does not match WGSL" [INFO] [stdout] 196 │-); [INFO] [stdout] 197 │-const _: () = assert!( [INFO] [stdout] 198 │- std::mem::offset_of!(MatricesF64, b) == 128, [INFO] [stdout] 199 │- "offset of MatricesF64.b does not match WGSL" [INFO] [stdout] 200 │-); [INFO] [stdout] 201 │-const _: () = assert!( [INFO] [stdout] 202 │- std::mem::offset_of!(MatricesF64, c) == 256, [INFO] [stdout] 203 │- "offset of MatricesF64.c does not match WGSL" [INFO] [stdout] 204 │-); [INFO] [stdout] 205 │-const _: () = assert!( [INFO] [stdout] 206 │- std::mem::offset_of!(MatricesF64, d) == 320, [INFO] [stdout] 207 │- "offset of MatricesF64.d does not match WGSL" [INFO] [stdout] 208 │-); [INFO] [stdout] 209 │-const _: () = assert!( [INFO] [stdout] 210 │- std::mem::offset_of!(MatricesF64, e) == 416, [INFO] [stdout] 211 │- "offset of MatricesF64.e does not match WGSL" [INFO] [stdout] 212 │-); [INFO] [stdout] 213 │-const _: () = assert!( [INFO] [stdout] 214 │- std::mem::offset_of!(MatricesF64, f) == 512, [INFO] [stdout] 215 │- "offset of MatricesF64.f does not match WGSL" [INFO] [stdout] 216 │-); [INFO] [stdout] 217 │-const _: () = assert!( [INFO] [stdout] 218 │- std::mem::offset_of!(MatricesF64, g) == 576, [INFO] [stdout] 219 │- "offset of MatricesF64.g does not match WGSL" [INFO] [stdout] 220 │-); [INFO] [stdout] 221 │-const _: () = assert!( [INFO] [stdout] 222 │- std::mem::offset_of!(MatricesF64, h) == 640, [INFO] [stdout] 223 │- "offset of MatricesF64.h does not match WGSL" [INFO] [stdout] 224 │-); [INFO] [stdout] 225 │-const _: () = assert!( [INFO] [stdout] 226 │- std::mem::offset_of!(MatricesF64, i) == 704, [INFO] [stdout] 227 │- "offset of MatricesF64.i does not match WGSL" [INFO] [stdout] 228 │-); [INFO] [stdout] 229 │-#[repr(C)] [INFO] [stdout] 230 │-#[derive( [INFO] [stdout] 231 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 232 │-)] [INFO] [stdout] 233 │-pub struct Nested { [INFO] [stdout] 234 │- pub a: MatricesF32, [INFO] [stdout] 235 │- pub b: MatricesF64, [INFO] [stdout] 236 │-} [INFO] [stdout] 237 │-const _: () = assert!( [INFO] [stdout] 238 │- std::mem::size_of::() == 1120, [INFO] [stdout] 239 │- "size of Nested does not match WGSL" [INFO] [stdout] 240 │-); [INFO] [stdout] 241 │-const _: () = assert!( [INFO] [stdout] 242 │- std::mem::offset_of!(Nested, a) == 0, [INFO] [stdout] 243 │- "offset of Nested.a does not match WGSL" [INFO] [stdout] 244 │-); [INFO] [stdout] 245 │-const _: () = assert!( [INFO] [stdout] 246 │- std::mem::offset_of!(Nested, b) == 384, [INFO] [stdout] 247 │- "offset of Nested.b does not match WGSL" [INFO] [stdout] 248 │-); [INFO] [stdout] 249 │-#[repr(C)] [INFO] [stdout] 250 │-#[derive( [INFO] [stdout] 251 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 252 │-)] [INFO] [stdout] 253 │-pub struct Scalars { [INFO] [stdout] 254 │- pub a: u32, [INFO] [stdout] 255 │- pub b: i32, [INFO] [stdout] 256 │- pub c: f32, [INFO] [stdout] 257 │- pub d: half::f16, [INFO] [stdout] 258 │-} [INFO] [stdout] 259 │-const _: () = assert!( [INFO] [stdout] 260 │- std::mem::size_of::() == 16, [INFO] [stdout] 261 │- "size of Scalars does not match WGSL" [INFO] [stdout] 262 │-); [INFO] [stdout] 263 │-const _: () = assert!( [INFO] [stdout] 264 │- std::mem::offset_of!(Scalars, a) == 0, [INFO] [stdout] 265 │- "offset of Scalars.a does not match WGSL" [INFO] [stdout] 266 │-); [INFO] [stdout] 267 │-const _: () = assert!( [INFO] [stdout] 268 │- std::mem::offset_of!(Scalars, b) == 4, [INFO] [stdout] 269 │- "offset of Scalars.b does not match WGSL" [INFO] [stdout] 270 │-); [INFO] [stdout] 271 │-const _: () = assert!( [INFO] [stdout] 272 │- std::mem::offset_of!(Scalars, c) == 8, [INFO] [stdout] 273 │- "offset of Scalars.c does not match WGSL" [INFO] [stdout] 274 │-); [INFO] [stdout] 275 │-const _: () = assert!( [INFO] [stdout] 276 │- std::mem::offset_of!(Scalars, d) == 12, [INFO] [stdout] 277 │- "offset of Scalars.d does not match WGSL" [INFO] [stdout] 278 │-); [INFO] [stdout] 279 │-#[repr(C)] [INFO] [stdout] 280 │-#[derive( [INFO] [stdout] 281 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 282 │-)] [INFO] [stdout] 283 │-pub struct StaticArrays { [INFO] [stdout] 284 │- pub a: [u32; 5], [INFO] [stdout] 285 │- pub b: [f32; 3], [INFO] [stdout] 286 │- pub c: [[[f32; 4]; 4]; 512], [INFO] [stdout] 287 │-} [INFO] [stdout] 288 │-const _: () = assert!( [INFO] [stdout] 289 │- std::mem::size_of::() == 32800, [INFO] [stdout] 290 │- "size of StaticArrays does not match WGSL" [INFO] [stdout] 291 │-); [INFO] [stdout] 292 │-const _: () = assert!( [INFO] [stdout] 293 │- std::mem::offset_of!(StaticArrays, a) == 0, [INFO] [stdout] 294 │- "offset of StaticArrays.a does not match WGSL" [INFO] [stdout] 295 │-); [INFO] [stdout] 296 │-const _: () = assert!( [INFO] [stdout] 297 │- std::mem::offset_of!(StaticArrays, b) == 20, [INFO] [stdout] 298 │- "offset of StaticArrays.b does not match WGSL" [INFO] [stdout] 299 │-); [INFO] [stdout] 300 │-const _: () = assert!( [INFO] [stdout] 301 │- std::mem::offset_of!(StaticArrays, c) == 32, [INFO] [stdout] 302 │- "offset of StaticArrays.c does not match WGSL" [INFO] [stdout] 303 │-); [INFO] [stdout] 304 │-#[repr(C)] [INFO] [stdout] 305 │-#[derive( [INFO] [stdout] 306 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 307 │-)] [INFO] [stdout] 308 │-pub struct VectorsF16 { [INFO] [stdout] 309 │- pub a: [half::f16; 2], [INFO] [stdout] 310 │- pub b: [half::f16; 4], [INFO] [stdout] 311 │-} [INFO] [stdout] 312 │-const _: () = assert!( [INFO] [stdout] 313 │- std::mem::size_of::() == 16, [INFO] [stdout] 314 │- "size of VectorsF16 does not match WGSL" [INFO] [stdout] 315 │-); [INFO] [stdout] 316 │-const _: () = assert!( [INFO] [stdout] 317 │- std::mem::offset_of!(VectorsF16, a) == 0, [INFO] [stdout] 318 │- "offset of VectorsF16.a does not match WGSL" [INFO] [stdout] 319 │-); [INFO] [stdout] 320 │-const _: () = assert!( [INFO] [stdout] 321 │- std::mem::offset_of!(VectorsF16, b) == 8, [INFO] [stdout] 322 │- "offset of VectorsF16.b does not match WGSL" [INFO] [stdout] 323 │-); [INFO] [stdout] 324 │-#[repr(C)] [INFO] [stdout] 325 │-#[derive( [INFO] [stdout] 326 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 327 │-)] [INFO] [stdout] 328 │-pub struct VectorsF32 { [INFO] [stdout] 329 │- pub a: [f32; 2], [INFO] [stdout] 330 │- pub b: [f32; 3], [INFO] [stdout] 331 │- pub c: [f32; 4], [INFO] [stdout] 332 │-} [INFO] [stdout] 333 │-const _: () = assert!( [INFO] [stdout] 334 │- std::mem::size_of::() == 48, [INFO] [stdout] 335 │- "size of VectorsF32 does not match WGSL" [INFO] [stdout] 336 │-); [INFO] [stdout] 337 │-const _: () = assert!( [INFO] [stdout] 338 │- std::mem::offset_of!(VectorsF32, a) == 0, [INFO] [stdout] 339 │- "offset of VectorsF32.a does not match WGSL" [INFO] [stdout] 340 │-); [INFO] [stdout] 341 │-const _: () = assert!( [INFO] [stdout] 342 │- std::mem::offset_of!(VectorsF32, b) == 16, [INFO] [stdout] 343 │- "offset of VectorsF32.b does not match WGSL" [INFO] [stdout] 344 │-); [INFO] [stdout] 345 │-const _: () = assert!( [INFO] [stdout] 346 │- std::mem::offset_of!(VectorsF32, c) == 32, [INFO] [stdout] 347 │- "offset of VectorsF32.c does not match WGSL" [INFO] [stdout] 348 │-); [INFO] [stdout] 349 │-#[repr(C)] [INFO] [stdout] 350 │-#[derive( [INFO] [stdout] 351 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 352 │-)] [INFO] [stdout] 353 │-pub struct VectorsF64 { [INFO] [stdout] 354 │- pub a: [f64; 2], [INFO] [stdout] 355 │- pub b: [f64; 3], [INFO] [stdout] 356 │- pub c: [f64; 4], [INFO] [stdout] 357 │-} [INFO] [stdout] 358 │-const _: () = assert!( [INFO] [stdout] 359 │- std::mem::size_of::() == 96, [INFO] [stdout] 360 │- "size of VectorsF64 does not match WGSL" [INFO] [stdout] 361 │-); [INFO] [stdout] 362 │-const _: () = assert!( [INFO] [stdout] 363 │- std::mem::offset_of!(VectorsF64, a) == 0, [INFO] [stdout] 364 │- "offset of VectorsF64.a does not match WGSL" [INFO] [stdout] 365 │-); [INFO] [stdout] 366 │-const _: () = assert!( [INFO] [stdout] 367 │- std::mem::offset_of!(VectorsF64, b) == 32, [INFO] [stdout] 368 │- "offset of VectorsF64.b does not match WGSL" [INFO] [stdout] 369 │-); [INFO] [stdout] 370 │-const _: () = assert!( [INFO] [stdout] 371 │- std::mem::offset_of!(VectorsF64, c) == 64, [INFO] [stdout] 372 │- "offset of VectorsF64.c does not match WGSL" [INFO] [stdout] 373 │-); [INFO] [stdout] 374 │-#[repr(C)] [INFO] [stdout] 375 │-#[derive( [INFO] [stdout] 376 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 377 │-)] [INFO] [stdout] 378 │-pub struct VectorsI32 { [INFO] [stdout] 379 │- pub a: [i32; 2], [INFO] [stdout] 380 │- pub b: [i32; 3], [INFO] [stdout] 381 │- pub c: [i32; 4], [INFO] [stdout] 382 │-} [INFO] [stdout] 383 │-const _: () = assert!( [INFO] [stdout] 384 │- std::mem::size_of::() == 48, [INFO] [stdout] 385 │- "size of VectorsI32 does not match WGSL" [INFO] [stdout] 386 │-); [INFO] [stdout] 387 │-const _: () = assert!( [INFO] [stdout] 388 │- std::mem::offset_of!(VectorsI32, a) == 0, [INFO] [stdout] 389 │- "offset of VectorsI32.a does not match WGSL" [INFO] [stdout] 390 │-); [INFO] [stdout] 391 │-const _: () = assert!( [INFO] [stdout] 392 │- std::mem::offset_of!(VectorsI32, b) == 16, [INFO] [stdout] 393 │- "offset of VectorsI32.b does not match WGSL" [INFO] [stdout] 394 │-); [INFO] [stdout] 395 │-const _: () = assert!( [INFO] [stdout] 396 │- std::mem::offset_of!(VectorsI32, c) == 32, [INFO] [stdout] 397 │- "offset of VectorsI32.c does not match WGSL" [INFO] [stdout] 398 │-); [INFO] [stdout] 399 │-#[repr(C)] [INFO] [stdout] 400 │-#[derive( [INFO] [stdout] 401 │- Debug, Copy, Clone, PartialEq, bytemuck :: Pod, bytemuck :: Zeroable, encase :: ShaderType, [INFO] [stdout] 402 │-)] [INFO] [stdout] 403 │-pub struct VectorsU32 { [INFO] [stdout] 404 │- pub a: [u32; 2], [INFO] [stdout] 405 │- pub b: [u32; 3], [INFO] [stdout] 406 │- pub c: [u32; 4], [INFO] [stdout] 407 │-} [INFO] [stdout] 408 │-const _: () = assert!( [INFO] [stdout] 409 │- std::mem::size_of::() == 48, [INFO] [stdout] 410 │- "size of VectorsU32 does not match WGSL" [INFO] [stdout] 411 │-); [INFO] [stdout] 412 │-const _: () = assert!( [INFO] [stdout] 413 │- std::mem::offset_of!(VectorsU32, a) == 0, [INFO] [stdout] 414 │- "offset of VectorsU32.a does not match WGSL" [INFO] [stdout] 415 │-); [INFO] [stdout] 416 │-const _: () = assert!( [INFO] [stdout] 417 │- std::mem::offset_of!(VectorsU32, b) == 16, [INFO] [stdout] 418 │- "offset of VectorsU32.b does not match WGSL" [INFO] [stdout] 419 │-); [INFO] [stdout] 420 │-const _: () = assert!( [INFO] [stdout] 421 │- std::mem::offset_of!(VectorsU32, c) == 32, [INFO] [stdout] 422 │- "offset of VectorsU32.c does not match WGSL" [INFO] [stdout] 423 │-); [INFO] [stdout] 1 │+pub const ENTRY_MAIN : & str = "main" ; # [derive (Debug)] pub struct FragmentEntry < const N : usize > { pub entry_point : & 'static str , pub targets : [Option < wgpu :: ColorTargetState > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn fragment_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a FragmentEntry < N > ,) -> wgpu :: FragmentState < 'a > { wgpu :: FragmentState { module , entry_point : Some (entry . entry_point) , targets : & entry . targets , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn main_entry (targets : [Option < wgpu :: ColorTargetState > ; 0] ,) -> FragmentEntry < 0 > { FragmentEntry { entry_point : ENTRY_MAIN , targets , constants : Default :: default () } } pub const SOURCE : & str = include_str ! ("types.wgsl") ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct Atomics { pub num : u32 , pub numi : i32 } const _ : () = assert ! (std :: mem :: size_of :: < Atomics > () == 8 , "size of Atomics does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Atomics , num) == 0 , "offset of Atomics.num does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Atomics , numi) == 4 , "offset of Atomics.numi does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct MatricesF16 { pub a : [[half :: f16 ; 4] ; 4] , pub b : [[half :: f16 ; 4] ; 3] , pub c : [[half :: f16 ; 4] ; 2] , pub d : [[half :: f16 ; 3] ; 4] , pub e : [[half :: f16 ; 3] ; 3] , pub f : [[half :: f16 ; 3] ; 2] , pub g : [[half :: f16 ; 2] ; 4] , pub h : [[half :: f16 ; 2] ; 3] , pub i : [[half :: f16 ; 2] ; 2] } const _ : () = assert ! (std :: mem :: size_of :: < MatricesF16 > () == 184 , "size of MatricesF16 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , a) == 0 , "offset of MatricesF16.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , b) == 32 , "offset of MatricesF16.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , c) == 64 , "offset of MatricesF16.c does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , d) == 80 , "offset of MatricesF16.d does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , e) == 104 , "offset of MatricesF16.e does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , f) == 128 , "offset of MatricesF16.f does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , g) == 144 , "offset of MatricesF16.g does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , h) == 160 , "offset of MatricesF16.h does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF16 , i) == 176 , "offset of MatricesF16.i does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct MatricesF32 { pub a : [[f32 ; 4] ; 4] , pub b : [[f32 ; 4] ; 3] , pub c : [[f32 ; 4] ; 2] , pub d : [[f32 ; 3] ; 4] , pub e : [[f32 ; 3] ; 3] , pub f : [[f32 ; 3] ; 2] , pub g : [[f32 ; 2] ; 4] , pub h : [[f32 ; 2] ; 3] , pub i : [[f32 ; 2] ; 2] } const _ : () = assert ! (std :: mem :: size_of :: < MatricesF32 > () == 368 , "size of MatricesF32 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , a) == 0 , "offset of MatricesF32.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , b) == 64 , "offset of MatricesF32.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , c) == 128 , "offset of MatricesF32.c does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , d) == 160 , "offset of MatricesF32.d does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , e) == 208 , "offset of MatricesF32.e does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , f) == 256 , "offset of MatricesF32.f does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , g) == 288 , "offset of MatricesF32.g does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , h) == 320 , "offset of MatricesF32.h does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF32 , i) == 352 , "offset of MatricesF32.i does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct MatricesF64 { pub a : [[f64 ; 4] ; 4] , pub b : [[f64 ; 4] ; 3] , pub c : [[f64 ; 4] ; 2] , pub d : [[f64 ; 3] ; 4] , pub e : [[f64 ; 3] ; 3] , pub f : [[f64 ; 3] ; 2] , pub g : [[f64 ; 2] ; 4] , pub h : [[f64 ; 2] ; 3] , pub i : [[f64 ; 2] ; 2] } const _ : () = assert ! (std :: mem :: size_of :: < MatricesF64 > () == 736 , "size of MatricesF64 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , a) == 0 , "offset of MatricesF64.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , b) == 128 , "offset of MatricesF64.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , c) == 256 , "offset of MatricesF64.c does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , d) == 320 , "offset of MatricesF64.d does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , e) == 416 , "offset of MatricesF64.e does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , f) == 512 , "offset of MatricesF64.f does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , g) == 576 , "offset of MatricesF64.g does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , h) == 640 , "offset of MatricesF64.h does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (MatricesF64 , i) == 704 , "offset of MatricesF64.i does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct Nested { pub a : MatricesF32 , pub b : MatricesF64 } const _ : () = assert ! (std :: mem :: size_of :: < Nested > () == 1120 , "size of Nested does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Nested , a) == 0 , "offset of Nested.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Nested , b) == 384 , "offset of Nested.b does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct Scalars { pub a : u32 , pub b : i32 , pub c : f32 , pub d : half :: f16 } const _ : () = assert ! (std :: mem :: size_of :: < Scalars > () == 16 , "size of Scalars does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Scalars , a) == 0 , "offset of Scalars.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Scalars , b) == 4 , "offset of Scalars.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Scalars , c) == 8 , "offset of Scalars.c does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (Scalars , d) == 12 , "offset of Scalars.d does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct StaticArrays { pub a : [u32 ; 5] , pub b : [f32 ; 3] , pub c : [[[f32 ; 4] ; 4] ; 512] } const _ : () = assert ! (std :: mem :: size_of :: < StaticArrays > () == 32800 , "size of StaticArrays does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (StaticArrays , a) == 0 , "offset of StaticArrays.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (StaticArrays , b) == 20 , "offset of StaticArrays.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (StaticArrays , c) == 32 , "offset of StaticArrays.c does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct VectorsF16 { pub a : [half :: f16 ; 2] , pub b : [half :: f16 ; 4] } const _ : () = assert ! (std :: mem :: size_of :: < VectorsF16 > () == 16 , "size of VectorsF16 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF16 , a) == 0 , "offset of VectorsF16.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF16 , b) == 8 , "offset of VectorsF16.b does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct VectorsF32 { pub a : [f32 ; 2] , pub b : [f32 ; 3] , pub c : [f32 ; 4] } const _ : () = assert ! (std :: mem :: size_of :: < VectorsF32 > () == 48 , "size of VectorsF32 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF32 , a) == 0 , "offset of VectorsF32.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF32 , b) == 16 , "offset of VectorsF32.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF32 , c) == 32 , "offset of VectorsF32.c does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct VectorsF64 { pub a : [f64 ; 2] , pub b : [f64 ; 3] , pub c : [f64 ; 4] } const _ : () = assert ! (std :: mem :: size_of :: < VectorsF64 > () == 96 , "size of VectorsF64 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF64 , a) == 0 , "offset of VectorsF64.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF64 , b) == 32 , "offset of VectorsF64.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsF64 , c) == 64 , "offset of VectorsF64.c does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct VectorsI32 { pub a : [i32 ; 2] , pub b : [i32 ; 3] , pub c : [i32 ; 4] } const _ : () = assert ! (std :: mem :: size_of :: < VectorsI32 > () == 48 , "size of VectorsI32 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsI32 , a) == 0 , "offset of VectorsI32.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsI32 , b) == 16 , "offset of VectorsI32.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsI32 , c) == 32 , "offset of VectorsI32.c does not match WGSL") ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable , encase :: ShaderType)] pub struct VectorsU32 { pub a : [u32 ; 2] , pub b : [u32 ; 3] , pub c : [u32 ; 4] } const _ : () = assert ! (std :: mem :: size_of :: < VectorsU32 > () == 48 , "size of VectorsU32 does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsU32 , a) == 0 , "offset of VectorsU32.a does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsU32 , b) == 16 , "offset of VectorsU32.b does not match WGSL") ; const _ : () = assert ! (std :: mem :: offset_of ! (VectorsU32 , c) == 32 , "offset of VectorsU32.c does not match WGSL") ; [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_all_structs_encase_bytemuck' (1673) panicked at src/structs.rs:352:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_all_structs_encase_bytemuck.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f81829 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f81829 - wgsl_to_wgpu::structs::tests::write_all_structs_encase_bytemuck::{{closure}}::h97220e7c905da39b [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f5071f - insta::settings::Settings::bind::h46c5ebc9ad8f9b16 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f813ca - wgsl_to_wgpu::structs::tests::write_all_structs_encase_bytemuck::h48a4e313546008cb [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f81917 - wgsl_to_wgpu::structs::tests::write_all_structs_encase_bytemuck::{{closure}}::hb6fe46a788d9c04d [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:337:43 [INFO] [stdout] 25: 0x5cf523f73fd6 - core::ops::function::FnOnce::call_once::h7d88c1929316ddb3 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::create_shader_modules_source_rustfmt stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/create_shader_modules_source_rustfmt.snap [INFO] [stdout] Snapshot: create_shader_modules_source_rustfmt [INFO] [stdout] Source: src/lib.rs:918 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub const ENTRY_MAIN: &str = "main"; [INFO] [stdout] 2 │-#[derive(Debug)] [INFO] [stdout] 3 │-pub struct FragmentEntry { [INFO] [stdout] 4 │- pub entry_point: &'static str, [INFO] [stdout] 5 │- pub targets: [Option; N], [INFO] [stdout] 6 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 7 │-} [INFO] [stdout] 8 │-pub fn fragment_state<'a, const N: usize>( [INFO] [stdout] 9 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 10 │- entry: &'a FragmentEntry, [INFO] [stdout] 11 │-) -> wgpu::FragmentState<'a> { [INFO] [stdout] 12 │- wgpu::FragmentState { [INFO] [stdout] 13 │- module, [INFO] [stdout] 14 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 15 │- targets: &entry.targets, [INFO] [stdout] 16 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 17 │- constants: &entry.constants, [INFO] [stdout] 18 │- ..Default::default() [INFO] [stdout] 19 │- }, [INFO] [stdout] 20 │- } [INFO] [stdout] 21 │-} [INFO] [stdout] 22 │-pub fn main_entry(targets: [Option; 0]) -> FragmentEntry<0> { [INFO] [stdout] 23 │- FragmentEntry { [INFO] [stdout] 24 │- entry_point: ENTRY_MAIN, [INFO] [stdout] 25 │- targets, [INFO] [stdout] 26 │- constants: Default::default(), [INFO] [stdout] 27 │- } [INFO] [stdout] 28 │-} [INFO] [stdout] 29 │-pub const SOURCE: &str = "@fragment fn main() {}"; [INFO] [stdout] 30 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 31 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 32 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 33 │- label: None, [INFO] [stdout] 34 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 35 │- }) [INFO] [stdout] 36 │-} [INFO] [stdout] 37 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 38 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 39 │- label: None, [INFO] [stdout] 40 │- bind_group_layouts: &[], [INFO] [stdout] 41 │- push_constant_ranges: &[], [INFO] [stdout] 42 │- }) [INFO] [stdout] 43 │-} [INFO] [stdout] 1 │+pub const ENTRY_MAIN : & str = "main" ; # [derive (Debug)] pub struct FragmentEntry < const N : usize > { pub entry_point : & 'static str , pub targets : [Option < wgpu :: ColorTargetState > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn fragment_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a FragmentEntry < N > ,) -> wgpu :: FragmentState < 'a > { wgpu :: FragmentState { module , entry_point : Some (entry . entry_point) , targets : & entry . targets , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn main_entry (targets : [Option < wgpu :: ColorTargetState > ; 0] ,) -> FragmentEntry < 0 > { FragmentEntry { entry_point : ENTRY_MAIN , targets , constants : Default :: default () } } pub const SOURCE : & str = "@fragment fn main() {}" ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [] , push_constant_ranges : & [] , }) } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::create_shader_modules_source_rustfmt' (2833) panicked at src/lib.rs:918:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/create_shader_modules_source_rustfmt.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f22759 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f22759 - wgsl_to_wgpu::test::create_shader_modules_source_rustfmt::{{closure}}::h3b162039530e2c7a [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f50a5f - insta::settings::Settings::bind::h5a1d570d0cbc1ecd [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f222be - wgsl_to_wgpu::test::create_shader_modules_source_rustfmt::h6be5197067b4c706 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f22367 - wgsl_to_wgpu::test::create_shader_modules_source_rustfmt::{{closure}}::h162e3acc6f9ea32e [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:907:46 [INFO] [stdout] 25: 0x5cf523f73e46 - core::ops::function::FnOnce::call_once::h6465be1bde93ef74 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_all_structs_bytemuck_skip_input_layout_validation stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_all_structs_bytemuck_skip_input_layout_validation' (1672) panicked at src/structs.rs:461:9: [INFO] [stdout] assertion failed: `(left == right)` [INFO] [stdout] [INFO] [stdout] Diff < left / right > : [INFO] [stdout] <# [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f32 , } [INFO] [stdout] ># [repr (C)] # [derive (Debug , Copy , Clone , PartialEq , bytemuck :: Pod , bytemuck :: Zeroable)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f32 } [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf523f853df - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_skip_input_layout_validation::heb96feb7e4681d7d [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:712:13 [INFO] [stdout] 20: 0x5cf523f85467 - wgsl_to_wgpu::structs::tests::write_all_structs_bytemuck_skip_input_layout_validation::{{closure}}::h7eddb800e3169d3d [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:430:65 [INFO] [stdout] 21: 0x5cf523f73f06 - core::ops::function::FnOnce::call_once::h6c8ff87a023419b6 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x708d6bc2faa4 - [INFO] [stdout] 43: 0x708d6bcbca64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- structs::tests::write_all_structs_skip_stage_outputs stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'structs::tests::write_all_structs_skip_stage_outputs' (1817) panicked at src/structs.rs:414:9: [INFO] [stdout] assertion failed: `(left == right)` [INFO] [stdout] [INFO] [stdout] Diff < left / right > : [INFO] [stdout] <# [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f32 , pub d : f64 , } [INFO] [stdout] ># [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Input0 { pub a : u32 , pub b : i32 , pub c : f32 , pub d : f64 } [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf523f8317a - wgsl_to_wgpu::structs::tests::write_all_structs_skip_stage_outputs::hfce2522d8450978a [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:712:13 [INFO] [stdout] 20: 0x5cf523f831f7 - wgsl_to_wgpu::structs::tests::write_all_structs_skip_stage_outputs::{{closure}}::h2bd1074355aef705 [INFO] [stdout] at /opt/rustwide/workdir/src/structs.rs:375:46 [INFO] [stdout] 21: 0x5cf523f74326 - core::ops::function::FnOnce::call_once::hb45a9a0915a5d7c4 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x708d6bc2faa4 - [INFO] [stdout] 43: 0x708d6bcbca64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::shader_stage_collection stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/shader_stage_collection.snap [INFO] [stdout] Snapshot: shader_stage_collection [INFO] [stdout] Source: src/lib.rs:1254 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub counter: wgpu::BufferBinding<'a>, [INFO] [stdout] 7 │- } [INFO] [stdout] 8 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 9 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 10 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 11 │- binding: 0, [INFO] [stdout] 12 │- visibility: wgpu::ShaderStages::COMPUTE, [INFO] [stdout] 13 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 14 │- ty: wgpu::BufferBindingType::Storage { read_only: false }, [INFO] [stdout] 15 │- has_dynamic_offset: false, [INFO] [stdout] 16 │- min_binding_size: None, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- count: None, [INFO] [stdout] 19 │- }], [INFO] [stdout] 20 │- }; [INFO] [stdout] 21 │- impl BindGroup0 { [INFO] [stdout] 22 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 23 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 24 │- } [INFO] [stdout] 25 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 26 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 27 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 28 │- layout: &bind_group_layout, [INFO] [stdout] 29 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 30 │- binding: 0, [INFO] [stdout] 31 │- resource: wgpu::BindingResource::Buffer(bindings.counter), [INFO] [stdout] 32 │- }], [INFO] [stdout] 33 │- label: Some("BindGroup0"), [INFO] [stdout] 34 │- }); [INFO] [stdout] 35 │- Self(bind_group) [INFO] [stdout] 36 │- } [INFO] [stdout] 37 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 38 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 39 │- } [INFO] [stdout] 40 │- } [INFO] [stdout] 41 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 42 │- pub struct BindGroups<'a> { [INFO] [stdout] 43 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 44 │- } [INFO] [stdout] 45 │- impl BindGroups<'_> { [INFO] [stdout] 46 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 47 │- self.bind_group0.set(pass); [INFO] [stdout] 48 │- } [INFO] [stdout] 49 │- } [INFO] [stdout] 50 │- pub trait SetBindGroup { [INFO] [stdout] 51 │- fn set_bind_group( [INFO] [stdout] 52 │- &mut self, [INFO] [stdout] 53 │- index: u32, [INFO] [stdout] 54 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 55 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 56 │- ); [INFO] [stdout] 57 │- } [INFO] [stdout] 58 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 59 │- fn set_bind_group( [INFO] [stdout] 60 │- &mut self, [INFO] [stdout] 61 │- index: u32, [INFO] [stdout] 62 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 63 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 64 │- ) { [INFO] [stdout] 65 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 66 │- } [INFO] [stdout] 67 │- } [INFO] [stdout] 68 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 69 │- fn set_bind_group( [INFO] [stdout] 70 │- &mut self, [INFO] [stdout] 71 │- index: u32, [INFO] [stdout] 72 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 73 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 74 │- ) { [INFO] [stdout] 75 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 76 │- } [INFO] [stdout] 77 │- } [INFO] [stdout] 78 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 79 │- fn set_bind_group( [INFO] [stdout] 80 │- &mut self, [INFO] [stdout] 81 │- index: u32, [INFO] [stdout] 82 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 83 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 84 │- ) { [INFO] [stdout] 85 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 86 │- } [INFO] [stdout] 87 │- } [INFO] [stdout] 88 │-} [INFO] [stdout] 89 │-pub fn set_bind_groups( [INFO] [stdout] 90 │- pass: &mut P, [INFO] [stdout] 91 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 92 │-) { [INFO] [stdout] 93 │- bind_group0.set(pass); [INFO] [stdout] 94 │-} [INFO] [stdout] 95 │-pub mod compute { [INFO] [stdout] 96 │- pub const MAIN_WORKGROUP_SIZE: [u32; 3] = [1, 1, 1]; [INFO] [stdout] 97 │- pub fn create_main_pipeline(device: &wgpu::Device) -> wgpu::ComputePipeline { [INFO] [stdout] 98 │- let module = super::create_shader_module(device); [INFO] [stdout] 99 │- let layout = super::create_pipeline_layout(device); [INFO] [stdout] 100 │- device.create_compute_pipeline(&wgpu::ComputePipelineDescriptor { [INFO] [stdout] 101 │- label: Some("Compute Pipeline main"), [INFO] [stdout] 102 │- layout: Some(&layout), [INFO] [stdout] 103 │- module: &module, [INFO] [stdout] 104 │- entry_point: Some("main"), [INFO] [stdout] 105 │- compilation_options: Default::default(), [INFO] [stdout] 106 │- cache: Default::default(), [INFO] [stdout] 107 │- }) [INFO] [stdout] 108 │- } [INFO] [stdout] 109 │-} [INFO] [stdout] 110 │-pub const ENTRY_MAIN: &str = "main"; [INFO] [stdout] 111 │-pub const SOURCE: &str = include_str!("shader.wgsl"); [INFO] [stdout] 112 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 113 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 114 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 115 │- label: None, [INFO] [stdout] 116 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 117 │- }) [INFO] [stdout] 118 │-} [INFO] [stdout] 119 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 120 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 121 │- label: None, [INFO] [stdout] 122 │- bind_group_layouts: &[&bind_groups::BindGroup0::get_bind_group_layout(device)], [INFO] [stdout] 123 │- push_constant_ranges: &[], [INFO] [stdout] 124 │- }) [INFO] [stdout] 125 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub counter : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: COMPUTE , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Storage { read_only : false } , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . counter) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } pub mod compute { pub const MAIN_WORKGROUP_SIZE : [u32 ; 3] = [1 , 1 , 1] ; pub fn create_main_pipeline (device : & wgpu :: Device) -> wgpu :: ComputePipeline { let module = super :: create_shader_module (device) ; let layout = super :: create_pipeline_layout (device) ; device . create_compute_pipeline (& wgpu :: ComputePipelineDescriptor { label : Some ("Compute Pipeline main") , layout : Some (& layout) , module : & module , entry_point : Some ("main") , compilation_options : Default :: default () , cache : Default :: default () , }) } } pub const ENTRY_MAIN : & str = "main" ; pub const SOURCE : & str = include_str ! ("shader.wgsl") ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [& bind_groups :: BindGroup0 :: get_bind_group_layout (device)] , push_constant_ranges : & [] , }) } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::shader_stage_collection' (2980) panicked at src/lib.rs:1254:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/shader_stage_collection.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f1eb79 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f1eb79 - wgsl_to_wgpu::test::shader_stage_collection::{{closure}}::hd0e2967a4c3d1bf6 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f5091f - insta::settings::Settings::bind::h575682973df9333f [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f1e6e8 - wgsl_to_wgpu::test::shader_stage_collection::h76c33e5022c66025 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f1e787 - wgsl_to_wgpu::test::shader_stage_collection::{{closure}}::ha8c85ab81c4eeb33 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1241:33 [INFO] [stdout] 25: 0x5cf523f744f6 - core::ops::function::FnOnce::call_once::hd94641b54f8c4202 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::single_root_module stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/single_root_module.snap [INFO] [stdout] Snapshot: single_root_module [INFO] [stdout] Source: src/lib.rs:1168 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub mod bind_groups { [INFO] [stdout] 2 │- #[derive(Debug)] [INFO] [stdout] 3 │- pub struct BindGroup0(wgpu::BindGroup); [INFO] [stdout] 4 │- #[derive(Debug)] [INFO] [stdout] 5 │- pub struct BindGroupLayout0<'a> { [INFO] [stdout] 6 │- pub uniforms: wgpu::BufferBinding<'a>, [INFO] [stdout] 7 │- } [INFO] [stdout] 8 │- const LAYOUT_DESCRIPTOR0: wgpu::BindGroupLayoutDescriptor = wgpu::BindGroupLayoutDescriptor { [INFO] [stdout] 9 │- label: Some("LayoutDescriptor0"), [INFO] [stdout] 10 │- entries: &[wgpu::BindGroupLayoutEntry { [INFO] [stdout] 11 │- binding: 0, [INFO] [stdout] 12 │- visibility: wgpu::ShaderStages::FRAGMENT, [INFO] [stdout] 13 │- ty: wgpu::BindingType::Buffer { [INFO] [stdout] 14 │- ty: wgpu::BufferBindingType::Uniform, [INFO] [stdout] 15 │- has_dynamic_offset: false, [INFO] [stdout] 16 │- min_binding_size: None, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- count: None, [INFO] [stdout] 19 │- }], [INFO] [stdout] 20 │- }; [INFO] [stdout] 21 │- impl BindGroup0 { [INFO] [stdout] 22 │- pub fn get_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { [INFO] [stdout] 23 │- device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0) [INFO] [stdout] 24 │- } [INFO] [stdout] 25 │- pub fn from_bindings(device: &wgpu::Device, bindings: BindGroupLayout0) -> Self { [INFO] [stdout] 26 │- let bind_group_layout = device.create_bind_group_layout(&LAYOUT_DESCRIPTOR0); [INFO] [stdout] 27 │- let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] 28 │- layout: &bind_group_layout, [INFO] [stdout] 29 │- entries: &[wgpu::BindGroupEntry { [INFO] [stdout] 30 │- binding: 0, [INFO] [stdout] 31 │- resource: wgpu::BindingResource::Buffer(bindings.uniforms), [INFO] [stdout] 32 │- }], [INFO] [stdout] 33 │- label: Some("BindGroup0"), [INFO] [stdout] 34 │- }); [INFO] [stdout] 35 │- Self(bind_group) [INFO] [stdout] 36 │- } [INFO] [stdout] 37 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 38 │- pass.set_bind_group(0, &self.0, &[]); [INFO] [stdout] 39 │- } [INFO] [stdout] 40 │- } [INFO] [stdout] 41 │- #[derive(Debug, Copy, Clone)] [INFO] [stdout] 42 │- pub struct BindGroups<'a> { [INFO] [stdout] 43 │- pub bind_group0: &'a BindGroup0, [INFO] [stdout] 44 │- } [INFO] [stdout] 45 │- impl BindGroups<'_> { [INFO] [stdout] 46 │- pub fn set(&self, pass: &mut P) { [INFO] [stdout] 47 │- self.bind_group0.set(pass); [INFO] [stdout] 48 │- } [INFO] [stdout] 49 │- } [INFO] [stdout] 50 │- pub trait SetBindGroup { [INFO] [stdout] 51 │- fn set_bind_group( [INFO] [stdout] 52 │- &mut self, [INFO] [stdout] 53 │- index: u32, [INFO] [stdout] 54 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 55 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 56 │- ); [INFO] [stdout] 57 │- } [INFO] [stdout] 58 │- impl SetBindGroup for wgpu::ComputePass<'_> { [INFO] [stdout] 59 │- fn set_bind_group( [INFO] [stdout] 60 │- &mut self, [INFO] [stdout] 61 │- index: u32, [INFO] [stdout] 62 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 63 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 64 │- ) { [INFO] [stdout] 65 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 66 │- } [INFO] [stdout] 67 │- } [INFO] [stdout] 68 │- impl SetBindGroup for wgpu::RenderPass<'_> { [INFO] [stdout] 69 │- fn set_bind_group( [INFO] [stdout] 70 │- &mut self, [INFO] [stdout] 71 │- index: u32, [INFO] [stdout] 72 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 73 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 74 │- ) { [INFO] [stdout] 75 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 76 │- } [INFO] [stdout] 77 │- } [INFO] [stdout] 78 │- impl SetBindGroup for wgpu::RenderBundleEncoder<'_> { [INFO] [stdout] 79 │- fn set_bind_group( [INFO] [stdout] 80 │- &mut self, [INFO] [stdout] 81 │- index: u32, [INFO] [stdout] 82 │- bind_group: &wgpu::BindGroup, [INFO] [stdout] 83 │- offsets: &[wgpu::DynamicOffset], [INFO] [stdout] 84 │- ) { [INFO] [stdout] 85 │- self.set_bind_group(index, bind_group, offsets); [INFO] [stdout] 86 │- } [INFO] [stdout] 87 │- } [INFO] [stdout] 88 │-} [INFO] [stdout] 89 │-pub fn set_bind_groups( [INFO] [stdout] 90 │- pass: &mut P, [INFO] [stdout] 91 │- bind_group0: &bind_groups::BindGroup0, [INFO] [stdout] 92 │-) { [INFO] [stdout] 93 │- bind_group0.set(pass); [INFO] [stdout] 94 │-} [INFO] [stdout] 95 │-pub const ENTRY_VERT: &str = "vert"; [INFO] [stdout] 96 │-pub const ENTRY_FRAG: &str = "frag"; [INFO] [stdout] 97 │-#[derive(Debug)] [INFO] [stdout] 98 │-pub struct VertexEntry { [INFO] [stdout] 99 │- pub entry_point: &'static str, [INFO] [stdout] 100 │- pub buffers: [wgpu::VertexBufferLayout<'static>; N], [INFO] [stdout] 101 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 102 │-} [INFO] [stdout] 103 │-pub fn vertex_state<'a, const N: usize>( [INFO] [stdout] 104 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 105 │- entry: &'a VertexEntry, [INFO] [stdout] 106 │-) -> wgpu::VertexState<'a> { [INFO] [stdout] 107 │- wgpu::VertexState { [INFO] [stdout] 108 │- module, [INFO] [stdout] 109 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 110 │- buffers: &entry.buffers, [INFO] [stdout] 111 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 112 │- constants: &entry.constants, [INFO] [stdout] 113 │- ..Default::default() [INFO] [stdout] 114 │- }, [INFO] [stdout] 115 │- } [INFO] [stdout] 116 │-} [INFO] [stdout] 117 │-pub fn vert_entry(vertex_input: wgpu::VertexStepMode) -> VertexEntry<1> { [INFO] [stdout] 118 │- VertexEntry { [INFO] [stdout] 119 │- entry_point: ENTRY_VERT, [INFO] [stdout] 120 │- buffers: [VertexInput::vertex_buffer_layout(vertex_input)], [INFO] [stdout] 121 │- constants: Default::default(), [INFO] [stdout] 122 │- } [INFO] [stdout] 123 │-} [INFO] [stdout] 124 │-#[derive(Debug)] [INFO] [stdout] 125 │-pub struct FragmentEntry { [INFO] [stdout] 126 │- pub entry_point: &'static str, [INFO] [stdout] 127 │- pub targets: [Option; N], [INFO] [stdout] 128 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 129 │-} [INFO] [stdout] 130 │-pub fn fragment_state<'a, const N: usize>( [INFO] [stdout] 131 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 132 │- entry: &'a FragmentEntry, [INFO] [stdout] 133 │-) -> wgpu::FragmentState<'a> { [INFO] [stdout] 134 │- wgpu::FragmentState { [INFO] [stdout] 135 │- module, [INFO] [stdout] 136 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 137 │- targets: &entry.targets, [INFO] [stdout] 138 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 139 │- constants: &entry.constants, [INFO] [stdout] 140 │- ..Default::default() [INFO] [stdout] 141 │- }, [INFO] [stdout] 142 │- } [INFO] [stdout] 143 │-} [INFO] [stdout] 144 │-pub fn frag_entry(targets: [Option; 1]) -> FragmentEntry<1> { [INFO] [stdout] 145 │- FragmentEntry { [INFO] [stdout] 146 │- entry_point: ENTRY_FRAG, [INFO] [stdout] 147 │- targets, [INFO] [stdout] 148 │- constants: Default::default(), [INFO] [stdout] 149 │- } [INFO] [stdout] 150 │-} [INFO] [stdout] 151 │-pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; [INFO] [stdout] 152 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 153 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 154 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 155 │- label: None, [INFO] [stdout] 156 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 157 │- }) [INFO] [stdout] 158 │-} [INFO] [stdout] 159 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 160 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 161 │- label: None, [INFO] [stdout] 162 │- bind_group_layouts: &[&bind_groups::BindGroup0::get_bind_group_layout(device)], [INFO] [stdout] 163 │- push_constant_ranges: &[], [INFO] [stdout] 164 │- }) [INFO] [stdout] 165 │-} [INFO] [stdout] 166 │-#[repr(C)] [INFO] [stdout] 167 │-#[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 168 │-pub struct Root { [INFO] [stdout] 169 │- pub c: [f32; 4], [INFO] [stdout] 170 │-} [INFO] [stdout] 171 │-pub mod shared { [INFO] [stdout] 172 │- #[repr(C)] [INFO] [stdout] 173 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 174 │- pub struct Shared { [INFO] [stdout] 175 │- pub d: [f32; 4], [INFO] [stdout] 176 │- } [INFO] [stdout] 177 │- pub const TEST: f32 = 1f32; [INFO] [stdout] 178 │- #[repr(C)] [INFO] [stdout] 179 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 180 │- pub struct VertexInput { [INFO] [stdout] 181 │- pub position: [f32; 3], [INFO] [stdout] 182 │- } [INFO] [stdout] 183 │- impl VertexInput { [INFO] [stdout] 184 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 1] = [wgpu::VertexAttribute { [INFO] [stdout] 185 │- format: wgpu::VertexFormat::Float32x3, [INFO] [stdout] 186 │- offset: std::mem::offset_of!(VertexInput, position) as u64, [INFO] [stdout] 187 │- shader_location: 0, [INFO] [stdout] 188 │- }]; [INFO] [stdout] 189 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 190 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 191 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 192 │- wgpu::VertexBufferLayout { [INFO] [stdout] 193 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 194 │- step_mode, [INFO] [stdout] 195 │- attributes: &VertexInput::VERTEX_ATTRIBUTES, [INFO] [stdout] 196 │- } [INFO] [stdout] 197 │- } [INFO] [stdout] 198 │- } [INFO] [stdout] 199 │-} [INFO] [stdout] 200 │-pub mod uniforms { [INFO] [stdout] 201 │- #[repr(C)] [INFO] [stdout] 202 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 203 │- pub struct Uniforms { [INFO] [stdout] 204 │- pub a: [f32; 4], [INFO] [stdout] 205 │- pub b: nested::Nested, [INFO] [stdout] 206 │- } [INFO] [stdout] 207 │- pub mod nested { [INFO] [stdout] 208 │- #[repr(C)] [INFO] [stdout] 209 │- #[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 210 │- pub struct Nested { [INFO] [stdout] 211 │- pub a: [f32; 4], [INFO] [stdout] 212 │- pub b: super::super::Root, [INFO] [stdout] 213 │- pub c: super::super::shared::Shared, [INFO] [stdout] 214 │- } [INFO] [stdout] 215 │- } [INFO] [stdout] 216 │-} [INFO] [stdout] 1 │+pub mod bind_groups { # [derive (Debug)] pub struct BindGroup0 (wgpu :: BindGroup) ; # [derive (Debug)] pub struct BindGroupLayout0 < 'a > { pub uniforms : wgpu :: BufferBinding < 'a > } const LAYOUT_DESCRIPTOR0 : wgpu :: BindGroupLayoutDescriptor = wgpu :: BindGroupLayoutDescriptor { label : Some ("LayoutDescriptor0") , entries : & [wgpu :: BindGroupLayoutEntry { binding : 0 , visibility : wgpu :: ShaderStages :: FRAGMENT , ty : wgpu :: BindingType :: Buffer { ty : wgpu :: BufferBindingType :: Uniform , has_dynamic_offset : false , min_binding_size : None , } , count : None , }] , } ; impl BindGroup0 { pub fn get_bind_group_layout (device : & wgpu :: Device) -> wgpu :: BindGroupLayout { device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) } pub fn from_bindings (device : & wgpu :: Device , bindings : BindGroupLayout0) -> Self { let bind_group_layout = device . create_bind_group_layout (& LAYOUT_DESCRIPTOR0) ; let bind_group = device . create_bind_group (& wgpu :: BindGroupDescriptor { layout : & bind_group_layout , entries : & [wgpu :: BindGroupEntry { binding : 0 , resource : wgpu :: BindingResource :: Buffer (bindings . uniforms) , }] , label : Some ("BindGroup0") , }) ; Self (bind_group) } pub fn set < P : SetBindGroup > (& self , pass : & mut P) { pass . set_bind_group (0 , & self . 0 , & []) ; } } # [derive (Debug , Copy , Clone)] pub struct BindGroups < 'a > { pub bind_group0 : & 'a BindGroup0 } impl BindGroups < '_ > { pub fn set < P : SetBindGroup > (& self , pass : & mut P) { self . bind_group0 . set (pass) ; } } pub trait SetBindGroup { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) ; } impl SetBindGroup for wgpu :: ComputePass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderPass < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } impl SetBindGroup for wgpu :: RenderBundleEncoder < '_ > { fn set_bind_group (& mut self , index : u32 , bind_group : & wgpu :: BindGroup , offsets : & [wgpu :: DynamicOffset] ,) { self . set_bind_group (index , bind_group , offsets) ; } } } pub fn set_bind_groups < P : bind_groups :: SetBindGroup > (pass : & mut P , bind_group0 : & bind_groups :: BindGroup0) { bind_group0 . set (pass) ; } pub const ENTRY_VERT : & str = "vert" ; pub const ENTRY_FRAG : & str = "frag" ; # [derive (Debug)] pub struct VertexEntry < const N : usize > { pub entry_point : & 'static str , pub buffers : [wgpu :: VertexBufferLayout < 'static > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn vertex_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a VertexEntry < N > ,) -> wgpu :: VertexState < 'a > { wgpu :: VertexState { module , entry_point : Some (entry . entry_point) , buffers : & entry . buffers , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn vert_entry (vertex_input : wgpu :: VertexStepMode ,) -> VertexEntry < 1 > { VertexEntry { entry_point : ENTRY_VERT , buffers : [VertexInput :: vertex_buffer_layout (vertex_input)] , constants : Default :: default () } } # [derive (Debug)] pub struct FragmentEntry < const N : usize > { pub entry_point : & 'static str , pub targets : [Option < wgpu :: ColorTargetState > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn fragment_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a FragmentEntry < N > ,) -> wgpu :: FragmentState < 'a > { wgpu :: FragmentState { module , entry_point : Some (entry . entry_point) , targets : & entry . targets , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn frag_entry (targets : [Option < wgpu :: ColorTargetState > ; 1] ,) -> FragmentEntry < 1 > { FragmentEntry { entry_point : ENTRY_FRAG , targets , constants : Default :: default () } } pub const SOURCE : & str = "struct uniforms_Uniforms {\n a: vec4,\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_Uniforms2 {\n b: uniforms_nested_Nested,\n}\n\nstruct uniforms_nested_Nested {\n a: vec4,\n b: Root,\n c: shared_Shared\n}\n\nstruct Root {\n c: vec4\n}\n\nstruct shared_Shared {\n d: vec4\n}\n\nstruct shared_VertexInput {\n @location(0) position: vec3\n}\n\nstruct shared_VertexOutput {\n @builtin(position) clip_position: vec4,\n};\n\nconst shared_TEST: f32 = 1.0;\n\n@group(0) @binding(0)\nvar bindings_uniforms: uniforms_Uniforms;\n\n@vertex\nfn vert(in: shared_VertexInput) -> shared_VertexOutput {\n var out: shared_VertexOutput;\n out.clip_position = vec4(in.position, shared_TEST);\n return out;\n}\n\n@fragment\nfn frag(in: shared_VertexOutput) -> @location(0) vec4 {\n return bindings_uniforms.b.a * vec4(0.0);\n}" ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [& bind_groups :: BindGroup0 :: get_bind_group_layout (device)] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Root { pub c : [f32 ; 4] } pub mod shared { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Shared { pub d : [f32 ; 4] } pub const TEST : f32 = 1f32 ; # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct VertexInput { pub position : [f32 ; 3] } impl VertexInput { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 1] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x3 , offset : std :: mem :: offset_of ! (VertexInput , position) as u64 , shader_location : 0 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput > () as u64 , step_mode , attributes : & VertexInput :: VERTEX_ATTRIBUTES } } } } pub mod uniforms { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Uniforms { pub a : [f32 ; 4] , pub b : nested :: Nested } pub mod nested { # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Nested { pub a : [f32 ; 4] , pub b : super :: super :: Root , pub c : super :: super :: shared :: Shared } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::single_root_module' (3112) panicked at src/lib.rs:1168:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/single_root_module.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f1d7e9 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f1d7e9 - wgsl_to_wgpu::test::single_root_module::{{closure}}::hc89251603eedf629 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f5111f - insta::settings::Settings::bind::had9c943d3c1a5c35 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f1d353 - wgsl_to_wgpu::test::single_root_module::h423706299c1bed1f [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f1d3f7 - wgsl_to_wgpu::test::single_root_module::{{closure}}::h7b89295aea537b31 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1157:28 [INFO] [stdout] 25: 0x5cf523f741d6 - core::ops::function::FnOnce::call_once::hae693b68622afba9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::vertex_entries stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/vertex_entries.snap [INFO] [stdout] Snapshot: vertex_entries [INFO] [stdout] Source: src/lib.rs:1237 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-pub const ENTRY_VS_MAIN_NONE: &str = "vs_main_none"; [INFO] [stdout] 2 │-pub const ENTRY_VS_MAIN_SINGLE: &str = "vs_main_single"; [INFO] [stdout] 3 │-pub const ENTRY_VS_MAIN_MULTIPLE: &str = "vs_main_multiple"; [INFO] [stdout] 4 │-#[derive(Debug)] [INFO] [stdout] 5 │-pub struct VertexEntry { [INFO] [stdout] 6 │- pub entry_point: &'static str, [INFO] [stdout] 7 │- pub buffers: [wgpu::VertexBufferLayout<'static>; N], [INFO] [stdout] 8 │- pub constants: Vec<(&'static str, f64)>, [INFO] [stdout] 9 │-} [INFO] [stdout] 10 │-pub fn vertex_state<'a, const N: usize>( [INFO] [stdout] 11 │- module: &'a wgpu::ShaderModule, [INFO] [stdout] 12 │- entry: &'a VertexEntry, [INFO] [stdout] 13 │-) -> wgpu::VertexState<'a> { [INFO] [stdout] 14 │- wgpu::VertexState { [INFO] [stdout] 15 │- module, [INFO] [stdout] 16 │- entry_point: Some(entry.entry_point), [INFO] [stdout] 17 │- buffers: &entry.buffers, [INFO] [stdout] 18 │- compilation_options: wgpu::PipelineCompilationOptions { [INFO] [stdout] 19 │- constants: &entry.constants, [INFO] [stdout] 20 │- ..Default::default() [INFO] [stdout] 21 │- }, [INFO] [stdout] 22 │- } [INFO] [stdout] 23 │-} [INFO] [stdout] 24 │-pub fn vs_main_none_entry() -> VertexEntry<0> { [INFO] [stdout] 25 │- VertexEntry { [INFO] [stdout] 26 │- entry_point: ENTRY_VS_MAIN_NONE, [INFO] [stdout] 27 │- buffers: [], [INFO] [stdout] 28 │- constants: Default::default(), [INFO] [stdout] 29 │- } [INFO] [stdout] 30 │-} [INFO] [stdout] 31 │-pub fn vs_main_single_entry(input0: wgpu::VertexStepMode) -> VertexEntry<1> { [INFO] [stdout] 32 │- VertexEntry { [INFO] [stdout] 33 │- entry_point: ENTRY_VS_MAIN_SINGLE, [INFO] [stdout] 34 │- buffers: [Input0::vertex_buffer_layout(input0)], [INFO] [stdout] 35 │- constants: Default::default(), [INFO] [stdout] 36 │- } [INFO] [stdout] 37 │-} [INFO] [stdout] 38 │-pub fn vs_main_multiple_entry( [INFO] [stdout] 39 │- input0: wgpu::VertexStepMode, [INFO] [stdout] 40 │- input1: wgpu::VertexStepMode, [INFO] [stdout] 41 │-) -> VertexEntry<2> { [INFO] [stdout] 42 │- VertexEntry { [INFO] [stdout] 43 │- entry_point: ENTRY_VS_MAIN_MULTIPLE, [INFO] [stdout] 44 │- buffers: [ [INFO] [stdout] 45 │- Input0::vertex_buffer_layout(input0), [INFO] [stdout] 46 │- Input1::vertex_buffer_layout(input1), [INFO] [stdout] 47 │- ], [INFO] [stdout] 48 │- constants: Default::default(), [INFO] [stdout] 49 │- } [INFO] [stdout] 50 │-} [INFO] [stdout] 51 │-pub const SOURCE: &str = include_str!("shader.wgsl"); [INFO] [stdout] 52 │-pub fn create_shader_module(device: &wgpu::Device) -> wgpu::ShaderModule { [INFO] [stdout] 53 │- let source = std::borrow::Cow::Borrowed(SOURCE); [INFO] [stdout] 54 │- device.create_shader_module(wgpu::ShaderModuleDescriptor { [INFO] [stdout] 55 │- label: None, [INFO] [stdout] 56 │- source: wgpu::ShaderSource::Wgsl(source), [INFO] [stdout] 57 │- }) [INFO] [stdout] 58 │-} [INFO] [stdout] 59 │-pub fn create_pipeline_layout(device: &wgpu::Device) -> wgpu::PipelineLayout { [INFO] [stdout] 60 │- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { [INFO] [stdout] 61 │- label: None, [INFO] [stdout] 62 │- bind_group_layouts: &[], [INFO] [stdout] 63 │- push_constant_ranges: &[], [INFO] [stdout] 64 │- }) [INFO] [stdout] 65 │-} [INFO] [stdout] 66 │-#[repr(C)] [INFO] [stdout] 67 │-#[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 68 │-pub struct Input0 { [INFO] [stdout] 69 │- pub in0: [f32; 4], [INFO] [stdout] 70 │- pub in1: [f32; 4], [INFO] [stdout] 71 │- pub in2: [f32; 4], [INFO] [stdout] 72 │-} [INFO] [stdout] 73 │-impl Input0 { [INFO] [stdout] 74 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 3] = [ [INFO] [stdout] 75 │- wgpu::VertexAttribute { [INFO] [stdout] 76 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 77 │- offset: std::mem::offset_of!(Input0, in0) as u64, [INFO] [stdout] 78 │- shader_location: 0, [INFO] [stdout] 79 │- }, [INFO] [stdout] 80 │- wgpu::VertexAttribute { [INFO] [stdout] 81 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 82 │- offset: std::mem::offset_of!(Input0, in1) as u64, [INFO] [stdout] 83 │- shader_location: 1, [INFO] [stdout] 84 │- }, [INFO] [stdout] 85 │- wgpu::VertexAttribute { [INFO] [stdout] 86 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 87 │- offset: std::mem::offset_of!(Input0, in2) as u64, [INFO] [stdout] 88 │- shader_location: 2, [INFO] [stdout] 89 │- }, [INFO] [stdout] 90 │- ]; [INFO] [stdout] 91 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 92 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 93 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 94 │- wgpu::VertexBufferLayout { [INFO] [stdout] 95 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 96 │- step_mode, [INFO] [stdout] 97 │- attributes: &Input0::VERTEX_ATTRIBUTES, [INFO] [stdout] 98 │- } [INFO] [stdout] 99 │- } [INFO] [stdout] 100 │-} [INFO] [stdout] 101 │-#[repr(C)] [INFO] [stdout] 102 │-#[derive(Debug, Copy, Clone, PartialEq)] [INFO] [stdout] 103 │-pub struct Input1 { [INFO] [stdout] 104 │- pub in3: [f32; 4], [INFO] [stdout] 105 │- pub in4: [f32; 4], [INFO] [stdout] 106 │- pub in5: [f32; 4], [INFO] [stdout] 107 │- pub in6: [u32; 4], [INFO] [stdout] 108 │-} [INFO] [stdout] 109 │-impl Input1 { [INFO] [stdout] 110 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 4] = [ [INFO] [stdout] 111 │- wgpu::VertexAttribute { [INFO] [stdout] 112 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 113 │- offset: std::mem::offset_of!(Input1, in3) as u64, [INFO] [stdout] 114 │- shader_location: 3, [INFO] [stdout] 115 │- }, [INFO] [stdout] 116 │- wgpu::VertexAttribute { [INFO] [stdout] 117 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 118 │- offset: std::mem::offset_of!(Input1, in4) as u64, [INFO] [stdout] 119 │- shader_location: 4, [INFO] [stdout] 120 │- }, [INFO] [stdout] 121 │- wgpu::VertexAttribute { [INFO] [stdout] 122 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 123 │- offset: std::mem::offset_of!(Input1, in5) as u64, [INFO] [stdout] 124 │- shader_location: 5, [INFO] [stdout] 125 │- }, [INFO] [stdout] 126 │- wgpu::VertexAttribute { [INFO] [stdout] 127 │- format: wgpu::VertexFormat::Uint32x4, [INFO] [stdout] 128 │- offset: std::mem::offset_of!(Input1, in6) as u64, [INFO] [stdout] 129 │- shader_location: 6, [INFO] [stdout] 130 │- }, [INFO] [stdout] 131 │- ]; [INFO] [stdout] 132 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 133 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 134 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 135 │- wgpu::VertexBufferLayout { [INFO] [stdout] 136 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 137 │- step_mode, [INFO] [stdout] 138 │- attributes: &Input1::VERTEX_ATTRIBUTES, [INFO] [stdout] 139 │- } [INFO] [stdout] 140 │- } [INFO] [stdout] 141 │-} [INFO] [stdout] 1 │+pub const ENTRY_VS_MAIN_NONE : & str = "vs_main_none" ; pub const ENTRY_VS_MAIN_SINGLE : & str = "vs_main_single" ; pub const ENTRY_VS_MAIN_MULTIPLE : & str = "vs_main_multiple" ; # [derive (Debug)] pub struct VertexEntry < const N : usize > { pub entry_point : & 'static str , pub buffers : [wgpu :: VertexBufferLayout < 'static > ; N] , pub constants : Vec < (& 'static str , f64) > , } pub fn vertex_state < 'a , const N : usize > (module : & 'a wgpu :: ShaderModule , entry : & 'a VertexEntry < N > ,) -> wgpu :: VertexState < 'a > { wgpu :: VertexState { module , entry_point : Some (entry . entry_point) , buffers : & entry . buffers , compilation_options : wgpu :: PipelineCompilationOptions { constants : & entry . constants , .. Default :: default () } , } } pub fn vs_main_none_entry () -> VertexEntry < 0 > { VertexEntry { entry_point : ENTRY_VS_MAIN_NONE , buffers : [] , constants : Default :: default () } } pub fn vs_main_single_entry (input0 : wgpu :: VertexStepMode ,) -> VertexEntry < 1 > { VertexEntry { entry_point : ENTRY_VS_MAIN_SINGLE , buffers : [Input0 :: vertex_buffer_layout (input0)] , constants : Default :: default () } } pub fn vs_main_multiple_entry (input0 : wgpu :: VertexStepMode , input1 : wgpu :: VertexStepMode ,) -> VertexEntry < 2 > { VertexEntry { entry_point : ENTRY_VS_MAIN_MULTIPLE , buffers : [Input0 :: vertex_buffer_layout (input0) , Input1 :: vertex_buffer_layout (input1)] , constants : Default :: default () } } pub const SOURCE : & str = include_str ! ("shader.wgsl") ; pub fn create_shader_module (device : & wgpu :: Device) -> wgpu :: ShaderModule { let source = std :: borrow :: Cow :: Borrowed (SOURCE) ; device . create_shader_module (wgpu :: ShaderModuleDescriptor { label : None , source : wgpu :: ShaderSource :: Wgsl (source) }) } pub fn create_pipeline_layout (device : & wgpu :: Device) -> wgpu :: PipelineLayout { device . create_pipeline_layout (& wgpu :: PipelineLayoutDescriptor { label : None , bind_group_layouts : & [] , push_constant_ranges : & [] , }) } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Input0 { pub in0 : [f32 ; 4] , pub in1 : [f32 ; 4] , pub in2 : [f32 ; 4] } impl Input0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 3] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (Input0 , in0) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (Input0 , in1) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (Input0 , in2) as u64 , shader_location : 2 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < Input0 > () as u64 , step_mode , attributes : & Input0 :: VERTEX_ATTRIBUTES } } } # [repr (C)] # [derive (Debug , Copy , Clone , PartialEq)] pub struct Input1 { pub in3 : [f32 ; 4] , pub in4 : [f32 ; 4] , pub in5 : [f32 ; 4] , pub in6 : [u32 ; 4] } impl Input1 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 4] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (Input1 , in3) as u64 , shader_location : 3 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (Input1 , in4) as u64 , shader_location : 4 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (Input1 , in5) as u64 , shader_location : 5 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Uint32x4 , offset : std :: mem :: offset_of ! (Input1 , in6) as u64 , shader_location : 6 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < Input1 > () as u64 , step_mode , attributes : & Input1 :: VERTEX_ATTRIBUTES } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::vertex_entries' (3289) panicked at src/lib.rs:1237:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/vertex_entries.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f1ce59 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f1ce59 - wgsl_to_wgpu::test::vertex_entries::{{closure}}::h40e067838311d02e [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:740:17 [INFO] [stdout] 22: 0x5cf523f50bbf - insta::settings::Settings::bind::h62bbca07085ed9fe [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f1c9f0 - wgsl_to_wgpu::test::vertex_entries::he5809d628bc9b982 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:739:22 [INFO] [stdout] 24: 0x5cf523f1cf47 - wgsl_to_wgpu::test::vertex_entries::{{closure}}::h6e547d178ccdc9b2 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1225:24 [INFO] [stdout] 25: 0x5cf523f73dc6 - core::ops::function::FnOnce::call_once::h62c8a5b948329d06 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::write_vertex_module_single_input_float32 stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_vertex_module_single_input_float32.snap [INFO] [stdout] Snapshot: write_vertex_module_single_input_float32 [INFO] [stdout] Source: src/lib.rs:1016 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-impl VertexInput0 { [INFO] [stdout] 2 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 4] = [ [INFO] [stdout] 3 │- wgpu::VertexAttribute { [INFO] [stdout] 4 │- format: wgpu::VertexFormat::Float32, [INFO] [stdout] 5 │- offset: std::mem::offset_of!(VertexInput0, a) as u64, [INFO] [stdout] 6 │- shader_location: 0, [INFO] [stdout] 7 │- }, [INFO] [stdout] 8 │- wgpu::VertexAttribute { [INFO] [stdout] 9 │- format: wgpu::VertexFormat::Float32x2, [INFO] [stdout] 10 │- offset: std::mem::offset_of!(VertexInput0, b) as u64, [INFO] [stdout] 11 │- shader_location: 1, [INFO] [stdout] 12 │- }, [INFO] [stdout] 13 │- wgpu::VertexAttribute { [INFO] [stdout] 14 │- format: wgpu::VertexFormat::Float32x3, [INFO] [stdout] 15 │- offset: std::mem::offset_of!(VertexInput0, c) as u64, [INFO] [stdout] 16 │- shader_location: 2, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- wgpu::VertexAttribute { [INFO] [stdout] 19 │- format: wgpu::VertexFormat::Float32x4, [INFO] [stdout] 20 │- offset: std::mem::offset_of!(VertexInput0, d) as u64, [INFO] [stdout] 21 │- shader_location: 3, [INFO] [stdout] 22 │- }, [INFO] [stdout] 23 │- ]; [INFO] [stdout] 24 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 25 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 26 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 27 │- wgpu::VertexBufferLayout { [INFO] [stdout] 28 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 29 │- step_mode, [INFO] [stdout] 30 │- attributes: &VertexInput0::VERTEX_ATTRIBUTES, [INFO] [stdout] 31 │- } [INFO] [stdout] 32 │- } [INFO] [stdout] 33 │-} [INFO] [stdout] 1 │+impl VertexInput0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 4] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32 , offset : std :: mem :: offset_of ! (VertexInput0 , a) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x2 , offset : std :: mem :: offset_of ! (VertexInput0 , b) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x3 , offset : std :: mem :: offset_of ! (VertexInput0 , c) as u64 , shader_location : 2 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float32x4 , offset : std :: mem :: offset_of ! (VertexInput0 , d) as u64 , shader_location : 3 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput0 > () as u64 , step_mode , attributes : & VertexInput0 :: VERTEX_ATTRIBUTES } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::write_vertex_module_single_input_float32' (3799) panicked at src/lib.rs:1016:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_vertex_module_single_input_float32.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f25cc4 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f25cc4 - wgsl_to_wgpu::test::write_vertex_module_single_input_float32::{{closure}}::h2a7a48e6cd4265b9 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f50fd4 - insta::settings::Settings::bind::h9e95077d10476c26 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f257d6 - wgsl_to_wgpu::test::write_vertex_module_single_input_float32::h0e6da7ce65349fd7 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f25dc7 - wgsl_to_wgpu::test::write_vertex_module_single_input_float32::{{closure}}::h5570c8e0361bf816 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1000:50 [INFO] [stdout] 25: 0x5cf523f73a16 - core::ops::function::FnOnce::call_once::h10a5df397357650c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::write_vertex_module_single_input_sint32 stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_vertex_module_single_input_sint32.snap [INFO] [stdout] Snapshot: write_vertex_module_single_input_sint32 [INFO] [stdout] Source: src/lib.rs:1078 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-impl VertexInput0 { [INFO] [stdout] 2 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 4] = [ [INFO] [stdout] 3 │- wgpu::VertexAttribute { [INFO] [stdout] 4 │- format: wgpu::VertexFormat::Sint32, [INFO] [stdout] 5 │- offset: std::mem::offset_of!(VertexInput0, a) as u64, [INFO] [stdout] 6 │- shader_location: 0, [INFO] [stdout] 7 │- }, [INFO] [stdout] 8 │- wgpu::VertexAttribute { [INFO] [stdout] 9 │- format: wgpu::VertexFormat::Sint32x2, [INFO] [stdout] 10 │- offset: std::mem::offset_of!(VertexInput0, b) as u64, [INFO] [stdout] 11 │- shader_location: 1, [INFO] [stdout] 12 │- }, [INFO] [stdout] 13 │- wgpu::VertexAttribute { [INFO] [stdout] 14 │- format: wgpu::VertexFormat::Sint32x3, [INFO] [stdout] 15 │- offset: std::mem::offset_of!(VertexInput0, c) as u64, [INFO] [stdout] 16 │- shader_location: 2, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- wgpu::VertexAttribute { [INFO] [stdout] 19 │- format: wgpu::VertexFormat::Sint32x4, [INFO] [stdout] 20 │- offset: std::mem::offset_of!(VertexInput0, d) as u64, [INFO] [stdout] 21 │- shader_location: 3, [INFO] [stdout] 22 │- }, [INFO] [stdout] 23 │- ]; [INFO] [stdout] 24 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 25 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 26 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 27 │- wgpu::VertexBufferLayout { [INFO] [stdout] 28 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 29 │- step_mode, [INFO] [stdout] 30 │- attributes: &VertexInput0::VERTEX_ATTRIBUTES, [INFO] [stdout] 31 │- } [INFO] [stdout] 32 │- } [INFO] [stdout] 33 │-} [INFO] [stdout] 1 │+impl VertexInput0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 4] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Sint32 , offset : std :: mem :: offset_of ! (VertexInput0 , a) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Sint32x2 , offset : std :: mem :: offset_of ! (VertexInput0 , b) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Sint32x3 , offset : std :: mem :: offset_of ! (VertexInput0 , c) as u64 , shader_location : 2 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Sint32x4 , offset : std :: mem :: offset_of ! (VertexInput0 , d) as u64 , shader_location : 3 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput0 > () as u64 , step_mode , attributes : & VertexInput0 :: VERTEX_ATTRIBUTES } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::write_vertex_module_single_input_sint32' (4187) panicked at src/lib.rs:1078:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_vertex_module_single_input_sint32.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f24194 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f24194 - wgsl_to_wgpu::test::write_vertex_module_single_input_sint32::{{closure}}::he58172c9f80f69f4 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f50494 - insta::settings::Settings::bind::h2791295da26645b5 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f23c76 - wgsl_to_wgpu::test::write_vertex_module_single_input_sint32::h57001432a7aee87f [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f23d37 - wgsl_to_wgpu::test::write_vertex_module_single_input_sint32::{{closure}}::hb07410da2663a762 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1061:49 [INFO] [stdout] 25: 0x5cf523f73a96 - core::ops::function::FnOnce::call_once::h1c55dc31a3b31e33 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::write_vertex_module_single_input_float16 stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_vertex_module_single_input_float16.snap [INFO] [stdout] Snapshot: write_vertex_module_single_input_float16 [INFO] [stdout] Source: src/lib.rs:1057 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-impl VertexInput0 { [INFO] [stdout] 2 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 3] = [ [INFO] [stdout] 3 │- wgpu::VertexAttribute { [INFO] [stdout] 4 │- format: wgpu::VertexFormat::Float16, [INFO] [stdout] 5 │- offset: std::mem::offset_of!(VertexInput0, a) as u64, [INFO] [stdout] 6 │- shader_location: 0, [INFO] [stdout] 7 │- }, [INFO] [stdout] 8 │- wgpu::VertexAttribute { [INFO] [stdout] 9 │- format: wgpu::VertexFormat::Float16x2, [INFO] [stdout] 10 │- offset: std::mem::offset_of!(VertexInput0, b) as u64, [INFO] [stdout] 11 │- shader_location: 1, [INFO] [stdout] 12 │- }, [INFO] [stdout] 13 │- wgpu::VertexAttribute { [INFO] [stdout] 14 │- format: wgpu::VertexFormat::Float16x4, [INFO] [stdout] 15 │- offset: std::mem::offset_of!(VertexInput0, c) as u64, [INFO] [stdout] 16 │- shader_location: 2, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- ]; [INFO] [stdout] 19 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 20 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 21 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 22 │- wgpu::VertexBufferLayout { [INFO] [stdout] 23 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 24 │- step_mode, [INFO] [stdout] 25 │- attributes: &VertexInput0::VERTEX_ATTRIBUTES, [INFO] [stdout] 26 │- } [INFO] [stdout] 27 │- } [INFO] [stdout] 28 │-} [INFO] [stdout] 1 │+impl VertexInput0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 3] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float16 , offset : std :: mem :: offset_of ! (VertexInput0 , a) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float16x2 , offset : std :: mem :: offset_of ! (VertexInput0 , b) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float16x4 , offset : std :: mem :: offset_of ! (VertexInput0 , c) as u64 , shader_location : 2 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput0 > () as u64 , step_mode , attributes : & VertexInput0 :: VERTEX_ATTRIBUTES } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::write_vertex_module_single_input_float16' (3715) panicked at src/lib.rs:1057:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_vertex_module_single_input_float16.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f253a4 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f253a4 - wgsl_to_wgpu::test::write_vertex_module_single_input_float16::{{closure}}::ha42256447c1a4cbc [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f50314 - insta::settings::Settings::bind::h1bdf0b89fd9432bc [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f24eb6 - wgsl_to_wgpu::test::write_vertex_module_single_input_float16::hb62d796506dd4a2e [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f254a7 - wgsl_to_wgpu::test::write_vertex_module_single_input_float16::{{closure}}::ha8607902f2efc6aa [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1040:50 [INFO] [stdout] 25: 0x5cf523f739d6 - core::ops::function::FnOnce::call_once::h0669d374d02423e0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::write_vertex_module_single_input_float64 stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_vertex_module_single_input_float64.snap [INFO] [stdout] Snapshot: write_vertex_module_single_input_float64 [INFO] [stdout] Source: src/lib.rs:1036 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-impl VertexInput0 { [INFO] [stdout] 2 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 4] = [ [INFO] [stdout] 3 │- wgpu::VertexAttribute { [INFO] [stdout] 4 │- format: wgpu::VertexFormat::Float64, [INFO] [stdout] 5 │- offset: std::mem::offset_of!(VertexInput0, a) as u64, [INFO] [stdout] 6 │- shader_location: 0, [INFO] [stdout] 7 │- }, [INFO] [stdout] 8 │- wgpu::VertexAttribute { [INFO] [stdout] 9 │- format: wgpu::VertexFormat::Float64x2, [INFO] [stdout] 10 │- offset: std::mem::offset_of!(VertexInput0, b) as u64, [INFO] [stdout] 11 │- shader_location: 1, [INFO] [stdout] 12 │- }, [INFO] [stdout] 13 │- wgpu::VertexAttribute { [INFO] [stdout] 14 │- format: wgpu::VertexFormat::Float64x3, [INFO] [stdout] 15 │- offset: std::mem::offset_of!(VertexInput0, c) as u64, [INFO] [stdout] 16 │- shader_location: 2, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- wgpu::VertexAttribute { [INFO] [stdout] 19 │- format: wgpu::VertexFormat::Float64x4, [INFO] [stdout] 20 │- offset: std::mem::offset_of!(VertexInput0, d) as u64, [INFO] [stdout] 21 │- shader_location: 3, [INFO] [stdout] 22 │- }, [INFO] [stdout] 23 │- ]; [INFO] [stdout] 24 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 25 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 26 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 27 │- wgpu::VertexBufferLayout { [INFO] [stdout] 28 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 29 │- step_mode, [INFO] [stdout] 30 │- attributes: &VertexInput0::VERTEX_ATTRIBUTES, [INFO] [stdout] 31 │- } [INFO] [stdout] 32 │- } [INFO] [stdout] 33 │-} [INFO] [stdout] 1 │+impl VertexInput0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 4] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float64 , offset : std :: mem :: offset_of ! (VertexInput0 , a) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float64x2 , offset : std :: mem :: offset_of ! (VertexInput0 , b) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float64x3 , offset : std :: mem :: offset_of ! (VertexInput0 , c) as u64 , shader_location : 2 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Float64x4 , offset : std :: mem :: offset_of ! (VertexInput0 , d) as u64 , shader_location : 3 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput0 > () as u64 , step_mode , attributes : & VertexInput0 :: VERTEX_ATTRIBUTES } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::write_vertex_module_single_input_float64' (4097) panicked at src/lib.rs:1036:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_vertex_module_single_input_float64.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f265e4 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f265e4 - wgsl_to_wgpu::test::write_vertex_module_single_input_float64::{{closure}}::habf4af34ad4a1b1c [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f507d4 - insta::settings::Settings::bind::h4bf7afb00469ea8a [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f260f6 - wgsl_to_wgpu::test::write_vertex_module_single_input_float64::hab1fabb03c315ab5 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f266e7 - wgsl_to_wgpu::test::write_vertex_module_single_input_float64::{{closure}}::haf964b2c99e307b9 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1020:50 [INFO] [stdout] 25: 0x5cf523f74056 - core::ops::function::FnOnce::call_once::h92ab5c9d8dcdce37 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test::write_vertex_module_single_input_uint32 stdout ---- [INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [INFO] [stdout] Snapshot file: src/snapshots/write_vertex_module_single_input_uint32.snap [INFO] [stdout] Snapshot: write_vertex_module_single_input_uint32 [INFO] [stdout] Source: src/lib.rs:1098 [INFO] [stdout] ──────────────────────────────────────────────────────────────────────────────── [INFO] [stdout] -old snapshot [INFO] [stdout] +new results [INFO] [stdout] ────────────┬─────────────────────────────────────────────────────────────────── [INFO] [stdout] 1 │-impl VertexInput0 { [INFO] [stdout] 2 │- pub const VERTEX_ATTRIBUTES: [wgpu::VertexAttribute; 4] = [ [INFO] [stdout] 3 │- wgpu::VertexAttribute { [INFO] [stdout] 4 │- format: wgpu::VertexFormat::Uint32, [INFO] [stdout] 5 │- offset: std::mem::offset_of!(VertexInput0, a) as u64, [INFO] [stdout] 6 │- shader_location: 0, [INFO] [stdout] 7 │- }, [INFO] [stdout] 8 │- wgpu::VertexAttribute { [INFO] [stdout] 9 │- format: wgpu::VertexFormat::Uint32x2, [INFO] [stdout] 10 │- offset: std::mem::offset_of!(VertexInput0, b) as u64, [INFO] [stdout] 11 │- shader_location: 1, [INFO] [stdout] 12 │- }, [INFO] [stdout] 13 │- wgpu::VertexAttribute { [INFO] [stdout] 14 │- format: wgpu::VertexFormat::Uint32x3, [INFO] [stdout] 15 │- offset: std::mem::offset_of!(VertexInput0, c) as u64, [INFO] [stdout] 16 │- shader_location: 2, [INFO] [stdout] 17 │- }, [INFO] [stdout] 18 │- wgpu::VertexAttribute { [INFO] [stdout] 19 │- format: wgpu::VertexFormat::Uint32x4, [INFO] [stdout] 20 │- offset: std::mem::offset_of!(VertexInput0, d) as u64, [INFO] [stdout] 21 │- shader_location: 3, [INFO] [stdout] 22 │- }, [INFO] [stdout] 23 │- ]; [INFO] [stdout] 24 │- pub const fn vertex_buffer_layout( [INFO] [stdout] 25 │- step_mode: wgpu::VertexStepMode, [INFO] [stdout] 26 │- ) -> wgpu::VertexBufferLayout<'static> { [INFO] [stdout] 27 │- wgpu::VertexBufferLayout { [INFO] [stdout] 28 │- array_stride: std::mem::size_of::() as u64, [INFO] [stdout] 29 │- step_mode, [INFO] [stdout] 30 │- attributes: &VertexInput0::VERTEX_ATTRIBUTES, [INFO] [stdout] 31 │- } [INFO] [stdout] 32 │- } [INFO] [stdout] 33 │-} [INFO] [stdout] 1 │+impl VertexInput0 { pub const VERTEX_ATTRIBUTES : [wgpu :: VertexAttribute ; 4] = [wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Uint32 , offset : std :: mem :: offset_of ! (VertexInput0 , a) as u64 , shader_location : 0 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Uint32x2 , offset : std :: mem :: offset_of ! (VertexInput0 , b) as u64 , shader_location : 1 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Uint32x3 , offset : std :: mem :: offset_of ! (VertexInput0 , c) as u64 , shader_location : 2 , } , wgpu :: VertexAttribute { format : wgpu :: VertexFormat :: Uint32x4 , offset : std :: mem :: offset_of ! (VertexInput0 , d) as u64 , shader_location : 3 , }] ; pub const fn vertex_buffer_layout (step_mode : wgpu :: VertexStepMode) -> wgpu :: VertexBufferLayout < 'static > { wgpu :: VertexBufferLayout { array_stride : std :: mem :: size_of :: < VertexInput0 > () as u64 , step_mode , attributes : & VertexInput0 :: VERTEX_ATTRIBUTES } } } [INFO] [stdout] ────────────┴─────────────────────────────────────────────────────────────────── [INFO] [stdout] [INFO] [stdout] thread 'test::write_vertex_module_single_input_uint32' (4373) panicked at src/lib.rs:1098:9: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/write_vertex_module_single_input_uint32.snap.new") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5cf5246b1612 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5cf5246b1612 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5cf5246b1612 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5cf5246b1612 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5cf5246c4b1f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5cf5246c4b1f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5cf52467cda3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5cf52467cda3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5cf5246895d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5cf52468f0bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5cf52468ef51 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5cf52412888e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5cf52412888e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5cf52468f77f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5cf52468f77f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5cf52468f52a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5cf524689709 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5cf52467045d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5cf5246cf4c0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5cf5246ce5b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5cf523f24ab4 - core::result::Result::unwrap::hcebd918b2ea6abfd [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5cf523f24ab4 - wgsl_to_wgpu::test::write_vertex_module_single_input_uint32::{{closure}}::hac21f93487c681cb [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:727:17 [INFO] [stdout] 22: 0x5cf523f503d4 - insta::settings::Settings::bind::h1d8f260bea06edbc [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/settings.rs:509:9 [INFO] [stdout] 23: 0x5cf523f24596 - wgsl_to_wgpu::test::write_vertex_module_single_input_uint32::h4c65378001bb3b68 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:726:22 [INFO] [stdout] 24: 0x5cf523f24657 - wgsl_to_wgpu::test::write_vertex_module_single_input_uint32::{{closure}}::h5ce0da58430e4025 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:1082:49 [INFO] [stdout] 25: 0x5cf523f74476 - core::ops::function::FnOnce::call_once::hd18189d1f1c6e299 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5cf5241286db - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x5cf5241286db - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 28: 0x5cf52413c6ed - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 29: 0x5cf52413c6ed - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 30: 0x5cf52413c6ed - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 31: 0x5cf52413c6ed - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 32: 0x5cf52413c6ed - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 33: 0x5cf52413c6ed - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 34: 0x5cf52413c6ed - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 35: 0x5cf524115c34 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 36: 0x5cf524115c34 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 37: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 38: 0x5cf52411956a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 39: 0x5cf52411956a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 40: 0x5cf52411956a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 41: 0x5cf52411956a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 42: 0x5cf52411956a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 43: 0x5cf52411956a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x5cf52468491f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 45: 0x5cf52468491f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 46: 0x708d6bc2faa4 - [INFO] [stdout] 47: 0x708d6bcbca64 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] bindgroup::tests::bind_groups_module_compute [INFO] [stdout] bindgroup::tests::bind_groups_module_fragment [INFO] [stdout] bindgroup::tests::bind_groups_module_vertex [INFO] [stdout] bindgroup::tests::bind_groups_module_vertex_fragment [INFO] [stdout] structs::tests::write_all_structs_bytemuck_f64_vec [INFO] [stdout] structs::tests::write_all_structs_bytemuck_input_layout_validation [INFO] [stdout] structs::tests::write_all_structs_bytemuck_skip_input_layout_validation [INFO] [stdout] structs::tests::write_all_structs_encase_bytemuck [INFO] [stdout] structs::tests::write_all_structs_serde_encase_bytemuck [INFO] [stdout] structs::tests::write_all_structs_skip_stage_outputs [INFO] [stdout] structs::tests::write_runtime_sized_array [INFO] [stdout] test::add_duplicate_module_different_paths [INFO] [stdout] test::add_single_root_module [INFO] [stdout] test::create_shader_modules_source_rustfmt [INFO] [stdout] test::shader_stage_collection [INFO] [stdout] test::single_root_module [INFO] [stdout] test::vertex_entries [INFO] [stdout] test::write_vertex_module_single_input_float16 [INFO] [stdout] test::write_vertex_module_single_input_float32 [INFO] [stdout] test::write_vertex_module_single_input_float64 [INFO] [stdout] test::write_vertex_module_single_input_sint32 [INFO] [stdout] test::write_vertex_module_single_input_uint32 [INFO] [stdout] [INFO] [stdout] test result: FAILED. 24 passed; 22 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.34s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f94ad523ac4bd49dd65069caa45536c76e763554b5d129715a7c1b67c0e2b43a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f94ad523ac4bd49dd65069caa45536c76e763554b5d129715a7c1b67c0e2b43a", kill_on_drop: false }` [INFO] [stdout] f94ad523ac4bd49dd65069caa45536c76e763554b5d129715a7c1b67c0e2b43a