In your example, what does the surrounding code look like?
This warning is also not meant to tell you that your code is incorrect, but that it’s hitting a bug in our code. In particular, this code:
DoSomething1[]
ScreenX >= 0.0, ScreenX <= 1.0, ScreenY >= 0.0, ScreenY <= 1.0
DoSomething2[]
is currently being parsed as if you wrote:
DoSomething1[]
block:
ScreenX >= 0.0, ScreenX <= 1.0, ScreenY >= 0.0, ScreenY <= 1.0
DoSomething2[]
That extra block
doesn’t cause any problems in this code because the code is just being run to see if one of the comparisons fails, but in other cases it causes unexpected scoping of definitions. For example:
A := 0, # <- note the comma here
B := 1 # <- and no comma here
C := 2
Is being parsed as:
block:
A := 0,
B := 1
C := 2
The extra block
there changes the scope of the A
and B
definitions in a surprising and undesirable way.
See Verse Deprecation Messaging for more information about our strategy for making backward incompatible changes to the language. When we release a new version of the Verse language in the future that fixes this bug, if you have this warning in your code, you will not be able to opt into the new version without the risk of breaking your code.
For your example, you should be able to use semicolons to avoid the bug and the warning without splitting your code over multiple lines:
ScreenX >= 0.0; ScreenX <= 1.0; ScreenY >= 0.0; ScreenY <= 1.0