Currently, U# doesn't allow us to directly compare enum variable with number like:
EnumHoge fuga = EnumHoge.Fuga;
var comp = fuga >= 3;
When EnumHoge.Fuga is 1, our expected result is comp=false, but the current implementation transcodes like: var comp = fuga != 3;
which leads comp to be TRUE.
Note that this phenomenon doesn't occur when you write enum in the comparison code like: var comp = HogeEnum.Fuga >= 3;
because HogeEnum.Fuga is transcoded to const 1, which makes the >= operation int>=int.
This change let you appropreately convert fuga >= 3 as it is.
Currently, U# doesn't allow us to directly compare enum variable with number like:
EnumHoge fuga = EnumHoge.Fuga; var comp = fuga >= 3;
When EnumHoge.Fuga is 1, our expected result is comp=false, but the current implementation transcodes like: var comp = fuga != 3; which leads comp to be TRUE.
Note that this phenomenon doesn't occur when you write enum in the comparison code like: var comp = HogeEnum.Fuga >= 3; because HogeEnum.Fuga is transcoded to const 1, which makes the >= operation int>=int.
This change let you appropreately convert fuga >= 3 as it is.