I'm not sure this is great either. For example, it's legal to write "float1x1 a : packoffset(c2.x)" [although, interestingly, not c2.y!] I also don't much like the term "breaks".
The word I would find natural instead of "breaks" would be "spans". Not sure it would give the best possible error message anyway.