var<private> g_v2 : vec2<f32> = vec2<f32>(1.0); var<private> g_v3 : vec3<f32> = vec3<f32>(1.0); var<private> g_v4 : vec4<f32> = vec4<f32>(1.0); fn from_immediate_bool() { var v2 : vec2<bool> = vec2<bool>(true); var v3 : vec3<bool> = vec3<bool>(true); var v4 : vec4<bool> = vec4<bool>(true); } fn from_immediate_f32() { var v2 : vec2<f32> = vec2<f32>(1.0); var v3 : vec3<f32> = vec3<f32>(1.0); var v4 : vec4<f32> = vec4<f32>(1.0); } fn from_immediate_i32() { var v2 : vec2<i32> = vec2<i32>(1); var v3 : vec3<i32> = vec3<i32>(1); var v4 : vec4<i32> = vec4<i32>(1); } fn from_immediate_u32() { var v2 : vec2<u32> = vec2<u32>(1u); var v3 : vec3<u32> = vec3<u32>(1u); var v4 : vec4<u32> = vec4<u32>(1u); } fn from_expression_bool() { var v2 : vec2<bool> = vec2<bool>(true); var v3 : vec3<bool> = vec3<bool>(true); var v4 : vec4<bool> = vec4<bool>(true); } fn from_expression_f32() { var v2 : vec2<f32> = vec2<f32>((1.0 + 2.0)); var v3 : vec3<f32> = vec3<f32>((1.0 + 2.0)); var v4 : vec4<f32> = vec4<f32>((1.0 + 2.0)); } fn from_expression_i32() { var v2 : vec2<i32> = vec2<i32>((1 + 2)); var v3 : vec3<i32> = vec3<i32>((1 + 2)); var v4 : vec4<i32> = vec4<i32>((1 + 2)); } fn from_expression_u32() { var v2 : vec2<u32> = vec2<u32>((1u + 2u)); var v3 : vec3<u32> = vec3<u32>((1u + 2u)); var v4 : vec4<u32> = vec4<u32>((1u + 2u)); } fn get_bool() -> bool { return true; } fn get_f32() -> f32 { return 1.0; } fn get_i32() -> i32 { return 1; } fn get_u32() -> u32 { return 1u; } fn from_call_bool() { var v2 : vec2<bool> = vec2<bool>(get_bool()); var v3 : vec3<bool> = vec3<bool>(get_bool()); var v4 : vec4<bool> = vec4<bool>(get_bool()); } fn from_call_f32() { var v2 : vec2<f32> = vec2<f32>(get_f32()); var v3 : vec3<f32> = vec3<f32>(get_f32()); var v4 : vec4<f32> = vec4<f32>(get_f32()); } fn from_call_i32() { var v2 : vec2<i32> = vec2<i32>(get_i32()); var v3 : vec3<i32> = vec3<i32>(get_i32()); var v4 : vec4<i32> = vec4<i32>(get_i32()); } fn from_call_u32() { var v2 : vec2<u32> = vec2<u32>(get_u32()); var v3 : vec3<u32> = vec3<u32>(get_u32()); var v4 : vec4<u32> = vec4<u32>(get_u32()); } fn with_swizzle() { var a = vec2<f32>(1.0).y; var b = vec3<f32>(1.0).z; var c = vec4<f32>(1.0).w; } [[stage(fragment)]] fn main() -> [[location(0)]] vec4<f32> { return vec4<f32>(0.0, 0.0, 0.0, 0.0); }