Skip to content

Fix incorrect type pattern dim calculation

Jordy Aaldering requested to merge 2374-type-pattern-dim-calc into develop

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)

Edited by Jordy Aaldering

Merge request reports