I've been writing an OS in Rust (in conjunction with learning Rust, HOWEVER I already had experience with OS dev so the basic stuff wasn't difficult, and I could afford to concentrate on the language), and it's personally been quite pleasant. It's very different to writing an OS in C and a lot does feel "hidden", but as compiler development is my day-job I'm fairly aquainted with x86 assembly so figuring out what stuff is actually doing hasn't been that bad.
Quote:
In OS development you usually end up with a range of different allocators for different purposes. Does Rust handle this easily?
This was a PITA before
RFC 1974 but is now actually quite pleasant, although I think the actual allocator can only be changed on the crate-level.