Couldn't help but notice,
F' as u8
is equivalent to b'F'
, and ['F' as u8, 'R' as u8, 'E' as u8, 'E' as u8]
is equivalent to *b"FREE"
which definitely is a lot more concise :). These are called byte string literals.Edit: The dereference is necessary because b"FREE" on its own has the type &[u8; 4].
That's much easier than I thought it was! I'll have to start working on my kernel again.
You can find some more {complex, idiomatic, not terribly hacked together} Rust kernels at https://github.com/thepowersgang/ .
Very interesting. Thank you for sharing. Would it be too much to ask for more?
I'm not sure what you're getting at. More of what?
IF you're curious, the relevant code is at https://github.com/krzysz00/rust-kernel/blob/master/kernel/m... . The functions that start with "rust_" are the allocator interface