WIP: Error doc
I'm working on
syscall/src/error.rs. I don't expect this to be merged, because it would break a lot of code. It's more a list of proposals than a merge request or an invitation to discuss.
First of all, I added some comments and tests. Just run
cargo test to see the test results.
In the first commit, I also added some boundary checks on
Error::mux. The main idea is that one should not be allowed to create an error without using a predefined constant, or trying to mux a huge
Ok value. This must trigger a panic and be fixed in the kernel.
I also removed the public access to
STR_ERROR. I think that a module should expose services rather than data. The only use of
STR_ARRAY I could find is: "given an
errno, what is the error description?". Why not give directly this service?
Second commit: I was rather confused by an
Ok. I expected it to always return an
Error. I created a
result module for
demux. When I read
result::demux, it seems clear to me that I will get a
Result. That may seem a detail, but if the code is easy to read, you avoid bugs.
Obviously, this would break a lot of libraries!
What do you think about this?