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 map a Rust slice?
- How to convert a Rust slice of u8 to a string?
- How to convert a Rust slice to a fixed array?
- How to swap elements in a Rust slice?
- How to split a Rust slice?
- How to push an element to a Rust slice?
- How to remove the last element of a Rust slice?
- How to reverse a Rust slice?
- How to iterate over a Rust slice with an index?
- How to fill a Rust slice with a specific value?
More of Rust
- Rust map function example
- How to replace strings using Rust regex?
- How to use regex lookbehind in Rust?
- How to use 'or' in Rust regex?
- Regex example to match multiline string in Rust?
- How to loop until error in Rust
- How to match whitespace with a regex in Rust?
- How to use regex lookahead in Rust?
- How to use Unicode in a regex in Rust?
- How to match a URL with a regex in Rust?
See more codes...