The other way around, i.e.
var v1 = 0; var v2 = 0.764; bool res = v2.equals(v1); res is false, as should be expected.
I can imagine what is going on, it is going with the type of the first var, which is int, and then casts the second var to the type of the first, getting again 0.
If I instead run v1 = 0; v2 = 2.764; res = v1.equals(v2);
res is false, so the above explanation seems likely.
In res = v2.equals(v1);
The int is instead cast to double, so no information is lost, and the comparison is false in all cases as it should be.
I doubt this is desired behaviour since, correct me if I'm wrong, ==, or equals, should be symmetric, i.e. a==b and b==a should give the same result, no?
The juce version is not fresh today, but I updated only 2-3 days ago.
I searched for var and equals and found nothing related to this, sorry if I've missed old posts already mentioning the above.