| struct MyStruct { | 
 |     f1 : f32, | 
 | }; | 
 |  | 
 | alias MyArray = array<f32, 10>; | 
 |  | 
 | fn ret_i32() -> i32 { return 1; } | 
 | fn ret_u32() -> u32 { return 1u; } | 
 | fn ret_f32() -> f32 { return 1.0; } | 
 | fn ret_MyStruct() -> MyStruct { return MyStruct(); } | 
 | fn ret_MyArray() -> MyArray { return MyArray(); } | 
 |  | 
 | // Local lets | 
 | fn let_decls() { | 
 |     let v1 = 1; | 
 |     let v2 = 1u; | 
 |     let v3 = 1.0; | 
 |  | 
 |     let v4 = vec3<i32>(1, 1, 1); | 
 |     let v5 = vec3<u32>(1u, 1u, 1u); | 
 |     let v6 = vec3<f32>(1.0, 1.0, 1.0); | 
 |  | 
 |     let v7 = mat3x3<f32>(v6, v6, v6); | 
 |  | 
 |     let v8 = MyStruct(1.0); | 
 |     let v9 = MyArray(); | 
 |  | 
 |     let v10 = ret_i32(); | 
 |     let v11 = ret_u32(); | 
 |     let v12 = ret_f32(); | 
 |     let v13 = ret_MyStruct(); | 
 |     let v14 = ret_MyStruct(); | 
 |     let v15 = ret_MyArray(); | 
 | } | 
 |  | 
 | @fragment | 
 | fn main() -> @location(0) vec4<f32> { | 
 |     return vec4<f32>(0.0,0.0,0.0,0.0); | 
 | } |