Strange matrixOP behaviour?

Does anybody know why the following doesn't compile?

#pragma rtGlobals=1     // Use modern global access method.

function testf()
    make/o/n=(2,2) tw0
    matrixop/o tw1=col(tw0,returnf())
end

function returnf()
    return 1
end


Introducing a local variable solves the problem, but is in my opinion somehow strange:

function testf()
    make/o/n=(2,2) tw0
    variable vv
    matrixop/o tw1=col(tw0,vv)
end


A
MatrixOP expressions support only functions that are documented under the MatrixOP operation itself. This is mostly for performance reasons but also because functions can give rise to a somewhat ambiguous syntax.


A.G.
WaveMetrics, Inc.