Wouldn't that mean that the code would have a huge performance penalty when running on 32bit hardware?
I think C99's way of handling that is fine, if you want to use whatever native width happens to be on your hardware you just use int/unsigned, otherwise you have stdint.h.
Like C, rust could mandate a minimal range for each type in the standard, but setting the type width in stone seems dangerous to me, both for backwards and forwards compatibility.
>Wouldn't that mean that the code would have a huge performance penalty when running on 32bit hardware?
Or it could just forget 32bit hardware altogether. Even mobile phones are going 64bit already -- and the language will be ready for production in 1-2 years, where even more platforms will be 64bit.
It's not like they have to compromise just to be able to run on some embedded stuff.