|
|
|
|
|
by comex
2424 days ago
|
|
They do. The issue may be that references don't support pointer arithmetic – that is, given `x: &u32` you cannot get `x[1]`. The normal approach is to use a reference to a slice, `x: &[u32]`, and the default bounds-checked indexing. Rust does let you do unchecked indexing on slices (with `unsafe`), but it may be more efficient to avoid indices entirely in favor of pointer arithmetic. LLVM can often optimize index calculations into pointer arithmetic, but not always. Edit: Although, on rereading the above post, I see diamondlovesyou did mention indices, so... not really sure what's going on. |
|