Hi Robert,
unfortunately you are right: this is a complete mess! And change a setting somewhere and a LOT of working code will not work correctly anymore.
This is why I use only "==" in VO, and when I compare strings to be different, I use
all the time. Otherwise it depends if you write
or
This is completely illogical and a source for continuos errors.
But that things change if one or both strings are defined as usual is completely new to me, and will led to errors in a LOT of VO or Vulcan code if parameters are changed between strings and usual.
IMHO X# should behave as VO in the VO dialect, and as Vulcan in the Vulcan dialect, and correctly in the Core dialect.
But of course the differences between VO and Vulcan can cause errors in the migration process.
What I would propose: a clear documentation about how VO and Vulcan works.
For the "=" operator I would have a simple solution: introduce a compiler warning.
For the "!=" operator such a warning would be useful too when it comes to string compares, but this would be a nightmare when moving old code....
Therefore I had asked for the "!==" operator, something that behaves correctly also in the VO and Vulcan dialects - for the Core dialect in effect it is not needed as there the "!=" operator works as it should.
Wolfgang