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 calculate the sum of a Rust slice?
- How to create a Rust slice with a specific size?
- How to push an element to a Rust slice?
- How to map a Rust slice?
- How to check for equality between Rust slices?
- How to convert a Rust slice of u8 to u32?
- How to reverse a Rust slice?
- How to join two Rust slices?
- How to convert a Rust slice of u8 to a string?
More of Rust
- Generator example in Rust
- How to replace a capture group using Rust regex?
- How to match a URL with a regex in Rust?
- How to use binary regex in Rust?
- How to use regex lookahead in Rust?
- How to make regex case insensitive in Rust?
- Regex example to match multiline string in Rust?
- How to use regex to match a double quote in Rust?
- Yield example in Rust
- How to use a tuple as a key in a Rust HashMap?
See more codes...