# Restarting the \`int/uint\` Discussion

**URL:** <https://internals.rust-lang.org/t/restarting-the-int-uint-discussion/1131>\
**Category:** internals\
**Created:** [December 31, 2014, 6:26am UTC](https://internals.rust-lang.org/t/restarting-the-int-uint-discussion/1131 "2014-12-31T06:26:55Z")\
**Posts on this page:** 1\
**Showing post:** 34

<div class="post-metadata">

**Author:** ![nikomatsakis](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nikomatsakis/32/5410_2.png) [@nikomatsakis](https://internals.rust-lang.org/u/nikomatsakis)\
**Post date:** [December 31, 2014, 10:37am UTC](https://internals.rust-lang.org/t/restarting-the-int-uint-discussion/1131/34 "2014-12-31T10:37:32Z")

</div>

The term “default” here is not, as you say, a technical “part” of the language. Nonetheless, it is common for people to have a “go to” integer type that they pick first. This is what the default is, and Yehuda’s point (I think) is that people will pick `int` or `uint`, whatever we say, so we might as well align `int`/`uint` with what we think the best overall choice would be. (I think integral fallback is mostly a red-herring, since it really only applies in small one-off programs or other random integers floating about, typically 0 or 1.)

Also, a point of clarification. By “register-sized integer types”, I presume you mean “fastest size”? I mean, on an x64 system, there are at least some registers with every possible width, so the term is not particularly precise. In any case, it is certainly true that none of the listed proposals included variable-size integer types except for pointer-sized (and they all assume a flat address space as well). This is no accident. Speaking for myself, I think we need to keep the zoo of integer size types to a minimum, and options like “fastest integer size” don’t carry their weight. Every machine-dependent type carries overflow and portability hazards along with it, and if you _really really_ care about using the “fastest” possible type, it’s easy enough to define your own aliases with a `#[cfg]` switch.

---

_[View the full topic](https://internals.rust-lang.org/t/restarting-the-int-uint-discussion/1131)._
