This code works, but I want to explicitly declare the type of the index range max
. However uX
or iX
, where X = 8, 16 or 32 gives compi
The compiler gives you a note about this:
= note: slice indices are of type `usize`
You must index a slice with a usize
. usize
is an unsigned integral type that has the same size as a pointer, and can represent a memory offset or the size of an object in memory. On 32-bit systems, it's a 32-bit integer, and on 64-bit systems, it's a 64-bit integer. Declare your index variables as usize
unless you really have a lot of them, in which case you can use x as usize
to cast them to an usize
.
When you leave out the type annotation, Rust deduces that your integer literals must be of type usize
because slices implement Index
and not Index
or Index
.