If I change the table to [int64, int64], Nim still gives type errors when the 
constants are changed to u32, even though it can promote uint32 to int64. i32 
constants still work.

Also, I don't understand your reasoning about uint32 not fitting into an int on 
32-bit machines. If I am compiling on a machine where int is 64 bits (I am), 
then doesn't int mean exactly the same thing as int64? I guess what I'm getting 
at is, does a program that compiles+runs on a 64-bit machine where int is 
64-bits also have to compile+run correctly on a 32-bit machine, where int is 
32-bits? It doesn't seem possible unless int is restricted to 32 bits in both 
cases.

Reply via email to