Problems while assigning 64bit integer literals
void main() {
uint32 u32 = 4294967295U;
uint64 u64 = 18446744073709551615UL;
int64 i64 = 9223372036854775807L;
long l = 9223372036854775807L;
ulong ul = 18446744073709551615UL;
size_t s = 18446744073709551615U;
ssize_t ss = 9223372036854775807UL;
}
$ valac -C test.vala
test.vala:6.7-6.30: error: Assignment: Cannot convert from `int64' to `long'
long l = 9223372036854775807L;
^^^^^^^^^^^^^^^^^^^^^^^^
test.vala:7.8-7.34: error: Assignment: Cannot convert from `uint64' to `ulong'
ulong ul = 18446744073709551615UL;
^^^^^^^^^^^^^^^^^^^^^^^^^^^
test.vala:8.9-8.33: error: Assignment: Cannot convert from `uint64' to `size_t'
size_t s = 18446744073709551615U;
^^^^^^^^^^^^^^^^^^^^^^^^^
test.vala:9.10-9.35: error: Assignment: Cannot convert from `uint64' to `ssize_t'
ssize_t ss = 9223372036854775807UL;
^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 4 error(s), 0 warning(s)
Edited by Rico Tzschichholz