const_shader_layout 0.3.1

Compile-time checks to ensure structs conform to WGSL's memory layout rules
Documentation
error[E0080]: evaluation panicked: 
              assertion failed.
              Failed to impl `ShaderLayoutCompat`: Field `S1::a1` size (4) must be 16 due to uniform layout constraints
              
  --> tests/compile_fail/struct_align_compat.rs:9:1
   |
 9 | / shader_layout_compat! {
10 | |
11 | |     pub struct S1 {
12 | |         a1: Nested,
...  |
15 | | }
   | |_^ evaluation of `_::_` failed here
   |
   = note: this error originates in the macro `shader_layout_compat` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0080]: evaluation panicked: 
              assertion failed.
              Failed to impl `ShaderLayoutCompat`: Field `S2::a2` size (4) must be 16 due to uniform layout constraints
              
  --> tests/compile_fail/struct_align_compat.rs:17:1
   |
17 | / shader_layout_compat! {
18 | |
19 | |
20 | |     pub struct S2 {
...  |
24 | | }
   | |_^ evaluation of `_::_` failed here
   |
   = note: this error originates in the macro `shader_layout_compat` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0080]: evaluation panicked: 
              assertion failed.
              Failed to impl `ShaderLayoutCompat`: Field `S2::a2` is not properly aligned. The offset is 4 but required align is 16
              
  --> tests/compile_fail/struct_align_compat.rs:17:1
   |
17 | / shader_layout_compat! {
18 | |
19 | |
20 | |     pub struct S2 {
...  |
24 | | }
   | |_^ evaluation of `_::_` failed here
   |
   = note: this error originates in the macro `shader_layout_compat` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0080`.