Since one user-defined conversion operator is allowed during implicit conversion, and after this conversion here is a constructor which can accept result of conversion, there was a backdoor for a vector types to up-cast their dimensions via cast to pointer type of a component of a vector. Since it was implicit and non-intentional it led to buffer overflows. Pull Request: https://projects.blender.org/blender/blender/pulls/132927