In most implementations, the rhs of a sub-expression is implemented differently when the lhs is a projection.
Due to the shape of the AST, the lhs is actually evaluated on the lhs projection.
However, when slicing a string, the rhs should be treated as a regular sub-expression.
As a result, in most implementations, the following expression does not evaluate correctly:
'foo'[::-1].length(@) should evaluate to 3.
In some implementations, the result is `"oof" or null.
In most implementations, the rhs of a
sub-expression
is implemented differently when the lhs is a projection. Due to the shape of the AST, the lhs is actually evaluated on the lhs projection.However, when slicing a string, the rhs should be treated as a regular sub-expression.
As a result, in most implementations, the following expression does not evaluate correctly:
'foo'[::-1].length(@)
should evaluate to3
.In some implementations, the result is
`"oof"
ornull
.Please, consider adding a compliance test.