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 slice of bytes to a string in Rust?
- How to get the first element of a slice in Rust?
- How to extend a Rust slice?
- What are the characters in a Rust slice?
- How to convert a slice to a hex string in Rust?
- How to fill a Rust slice with a specific value?
- How to convert a Rust slice of u8 to a string?
- How to convert a Rust slice of u8 to u32?
- How to calculate the sum of a Rust slice?
- How to push an element to a Rust slice?
More of Rust
- How to use non-capturing groups in Rust regex?
- How to replace a capture group using Rust regex?
- How to replace strings using Rust regex?
- How to parse a file with Rust regex?
- How to split a string with Rust regex?
- How to use regex lookahead in Rust?
- How to use a tuple as a key in a Rust HashMap?
- How to match whitespace with a regex in Rust?
- How to use Unicode in a regex in Rust?
- Rust borrow trait example
See more codes...