In issue 2374 we found that the dimensionality computation was being incorrectly generated in cases where there are more than two variable-rank features in a single arguments. The dimensionality of these other features were being subtracted from each other, whereas they should have been added.
For example, consider a type pattern:
int[x:_,y:_,z:_] a
With the example from the test, where x and y are 1 The value z was being incorrectly computed as:
z == dim(a) - (x - y) = 2 - (1 - 1) = 2 - 0 = 2
Although it should actually be:
z == dim(a) - (x + y) = 2 - (1 + 1) = 2 - 2 = 0
Closes #2374 (closed)