I was trying to work my way around the maximum size of an array (2147483647) when I came across this anomaly :
void setup() {
long i = 999_999_967L;
println(int(i));
}
results in : 1000000000
The value of the long is incorrectly converted without throwing an error.
It turns out that this starts happening at 16777217.
Is this a bug or just a restriction that is not documented.
Cheers,
Adriaan.