// Expect 9 errors

// SkSL does not support shrinking a vector via casting.
// A vector-slice can be performed in SkSL (or GLSL) by using a swizzle instead.

const half4 h4 = half4(0);
const half3 h3 = half3(h4);
const half2 h2 = half2(h4);
const half  h  = half (h4);

const int4  i4 = int4(0);
const int3  i3 = int3(i4);
const int2  i2 = int2(i4);
const int   i  = int (i4);

const bool4 b4 = bool4(false);
const bool3 b3 = bool3(b4);
const bool2 b2 = bool2(b4);
const bool  b  = bool (b4);

/*%%*
'half4' is not a valid parameter to 'half3' constructor; use '.xyz' instead
'half4' is not a valid parameter to 'half2' constructor; use '.xy' instead
'half4' is not a valid parameter to 'half' constructor; use '.x' instead
'int4' is not a valid parameter to 'int3' constructor; use '.xyz' instead
'int4' is not a valid parameter to 'int2' constructor; use '.xy' instead
'int4' is not a valid parameter to 'int' constructor; use '.x' instead
'bool4' is not a valid parameter to 'bool3' constructor; use '.xyz' instead
'bool4' is not a valid parameter to 'bool2' constructor; use '.xy' instead
'bool4' is not a valid parameter to 'bool' constructor; use '.x' instead
*%%*/
