Updates the verifier for `vector.shape_cast` so that incorrect cases where "scalability" is dropped are immediately rejected. For example: ```mlir vector.shape_cast %vec : vector<1x1x[4]xindex> to vector<4xindex> ``` Also, as a separate PR, I've prepared a fix for the Linalg vectorizer to avoid generating such shape casts (*): * https://github.com/llvm/llvm-project/pull/100325 (*) Note, that's just one specific case that I've identified so far.