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 of u8 to a string?
- How to convert a Rust slice of u8 to u32?
- How to convert a Rust slice to a tuple?
- How to convert a Rust slice to a struct?
- How to iterate over a Rust slice with an index?
- How to split a Rust slice?
- How to remove elements from a Rust slice?
- How to make a Rust slice unique?
- How to convert a Rust slice to a fixed array?
- How to convert a vector to a Rust slice?
More of Rust
- How do I print the type of a variable in Rust?
- How to remove an element from a Rust HashMap if a condition is met?
- How to match whitespace with a regex in Rust?
- How to replace a capture group using Rust regex?
- How to match a URL with a regex in Rust?
- How to replace strings using Rust regex?
- How to parse a file with Rust regex?
- How to get a capture group using Rust regex?
- How to extract data with regex in Rust?
- How to escape dots with regex in Rust?
See more codes...