Unittest : isCompatibleType
// isCompatibleType without implicit valueType conversion //vec2 v2; assert( v2.isCompatibleVector!vec2 ); assert( !v2.isCompatibleVector!vec3 ); assert( !v2.isCompatibleVector!vec4 ); //vec3 v3; assert( v3.isCompatibleVector!vec2 ); assert( v3.isCompatibleVector!vec3 ); assert( !v3.isCompatibleVector!vec4 ); //vec4 v4; assert( v4.isCompatibleVector!vec2 ); assert( v4.isCompatibleVector!vec3 ); assert( v4.isCompatibleVector!vec4 ); // isCompatibleType with implicit valueType conversion vec2 v2; assert( v2.isCompatibleVector!vec2i ); assert( !v2.isCompatibleVector!vec3d ); assert( !v2.isCompatibleVector!vec4 ); vec3i v3; assert( v3.isCompatibleVector!vec2d ); assert( v3.isCompatibleVector!vec3 ); assert( !v3.isCompatibleVector!vec4i ); vec4d v4; assert( v4.isCompatibleVector!vec2 ); assert( v4.isCompatibleVector!vec3i ); assert( v4.isCompatibleVector!vec4d );