Skip to content
Snippets Groups Projects
Commit 2c593fb0 authored by Ribbon's avatar Ribbon :speech_balloon:
Browse files

Move from CONTRIBUTING to kernel README.

parent 12d58300
No related branches found
No related tags found
1 merge request!201Kernel notes (moved from CONTRIBUTING).
......@@ -44,3 +44,9 @@ the process. See your debuggers man page for more information on useful commands
[qemu]: https://www.qemu.org
[gdb]: https://www.gnu.org/software/gdb/
[lldb]: https://lldb.llvm.org/
## Notes
* 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.
Always use `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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment