def var : S8 = 0 - 128;
Should it not compile, because 128
is not a valid number for the expected type S8
? In which case, the code needs to be written as:
def var : S8 = expect!S16(0 - 128);
Or should the check for range be delayed? How about:
def var : S8 = 128 - 256;
?