Open till-stadtler opened 7 months ago
@saig0, no, I have not found any other examples for expressions with "in" and unary tests behaving differently.
So, regarding this bug ticket, when not() is used after "in" in an expression, it should be the not() for unary-tests, but currently is evaluated as not() as a built-in function?
I have not found any other examples for expressions with "in" and unary tests behaving differently.
Thank you for checking. :+1: So, we can make the issue more concrete and focus on the combination of .. in not(..)
when not() is used after "in" in an expression, it should be the not() for unary-tests, but currently is evaluated as not() as a built-in function?
Currently, it uses the not()
boolean built-in function.
The expected behavior is unclear. From the FEEL grammar, in
is followed by a positive unary test
that doesn't include not()
from the unary tests
.
To do:
in
Describe the bug The following unary test, which in itself does not make a lot of sense, behaves differently when being evaluated as a unary test and when being evaluated via an expression using the keyword "in":
Further examination: In a unary test,
not()
is evaluated after the evaluation of the given unary test. In an expression,not()
is only used to negate a boolean. It seems that the expression5 in not(7)
is evaluated as5 in null
.To Reproduce Steps to reproduce the behavior: Enter the expressions above in the FEEL Playground.
Expected behavior Unary tests and expressions using the keyword "in" should behave the same.
Environment
1.17.3
8.3.3