I think the problem with the "x is a common variable name, therefore [x x _] will be common" is that this is generally not true. It misses the necessary step that x is common as a value that appears as an array size. What would be needed to strengthen this case against x is evidence that it is common to, say, get an x coordinate and then use that x coordinate to create an x-coordinate-sized array.
Note that this would also be a discussion about the value version. You will never be able to use a dynamic value like an x coordinate in the type version. For it to be relevant to the type sugar, you would need to justify a compile-time constant often be named x (either an integer generic parameter, or in the future maybe a compile-time-calculated named constant).
Now, I think we should in this discussion consider the repeated value future direction too, so it's fine to make the argument let a = [x x value] might come up. But still, it seems a stretch that an x coordinate (or some other common legit use of x, like the unknown in an equation) be used as the size of an array. You might have better luck with the value, i.e. [size x x] could perhaps be more common.
Nevertheless, the point is:
- this doesn't seem common, as either a size or a value
- in a lot of cases,
xisn't "the x coordinate" but just "no good name for this, eh, let's call itx" where you can call it something else - in the seemingly rare case where
xgenuinely does mean the x coordinate, and you want to use it in part of an array repeated value, you can just:- accept it even though
[size x x]looks weird - not use the array sugar in this case, e.g.
.init(repeating: x, count: size)
- accept it even though