It looks like the Go spec doesn't guarantee `int` to be 64 bits. It's "at least 32 bits", and the spec doesn't mention that it should be equal (or at least equal) to the word size or pointer size of the architecture you're running on.

In other words, nothing guarantees that `int` can be large enough to describe the amount of memory available. `uint64`, however... :-)