clearly define `int` and `uint` to fix unsoundness

This fixes the gap in the language definition causing #18726 by defining
a clear bound on the maximum size for libraries to enforce.

Closes #18069
auto merge of #18728 : thestinger/rust/int, r=cmr

This fixes the gap in the language definition causing #18726 by defining
a clear bound on the maximum size for libraries to enforce.

Closes #18069