> No, the default integer is u32
Maybe I'm missing something, but it seems to be i32: https://play.rust-lang.org/?gist=c79d4afef7fa20c81ba14de61f5...
That makes sense. I've never noticed what the default size was, but because it always worked with indexing, I assumed that it was always usize.
Re:Rust vs C Pitfalls
by Manishearth on Wednesday December 28, 2016 @02:22PM
(#13272887)
I believe it used to be uint (usize) back in pre-1.0, and IIRC inference didn't work well or wasn't supposed to work at all. I recall needing explicit prefixes on my int literals back then. No longer the case.
Rust will type error if you try to use u32s with an array so it's all good though. Just means that you need to specifically `: usize` things.
If you need an integer type for counting stuff, u32 is fine. If you actually need to talk about memory, use usize. The compiler will force you to do it.