Avoiding Kernel Panics
When trying to access a slice, always use the
common::GetSlice trait and the
.get_slice() method to get a slice without causing the kernel to panic.
The problem with slicing in regular Rust, e.g.
foo[a..b], is that if someone tries to access with a range that is out of bounds of an array/string/slice, it will cause a panic at runtime, as a safety measure. Same thing when accessing an element.
foo.get(n) instead of
foo[n] and try to cover for the possibility of
Option::None. Doing the regular way may work fine for applications, but never in the kernel. No possible panics should ever exist in kernel space, because then the whole OS would just stop working.