rustDoes Rust perform bounds checking on slices?
Yes, Rust performs bounds checking on slices. This is done to ensure that the slice does not exceed the length of the underlying array.
For example, the following code will cause a panic due to an out-of-bounds access:
let arr = [1, 2, 3];
let slice = &arr[..4];
Output example
thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 4', src/libcore/slice/mod.rs:2706:10
The code above attempts to create a slice of arr
from index 0 to index 4, which is out of bounds since arr
only has 3 elements.
Helpful links
Related
- How to convert a Rust slice to a fixed array?
- How to push an element to a Rust slice?
- How to calculate the sum of a Rust slice?
- How to remove elements from a Rust slice?
- How to swap elements in a Rust slice?
- How to convert a vector to a Rust slice?
- How to get the last element of a Rust slice?
- How to convert a Rust slice to a string?
- How to join two Rust slices?
- How to convert a u8 slice to a hex string in Rust?
More of Rust
- How to replace a capture group using Rust regex?
- How to use regex to match a double quote in Rust?
- How to use regex with bytes in Rust?
- How to replace strings using Rust regex?
- How to use an enum in a Rust HashMap?
- How to convert the keys of a Rust HashMap to a vector?
- How to yield a thread in Rust?
- How to convert a Rust slice of u8 to a string?
- How to convert a Rust slice to a fixed array?
- How to convert a Rust HashMap to JSON?
See more codes...