Saying that C++ isn’t procedural is kind of misleading. And it seems you don’t understand the subject. C++ is mostly a mix of procedural, imperative and object oriented paradigms. But in general strictly classification of languages doesn’t work, because you can always isolate some features which are part of another paradigm.

Now, that rust is better to develop an operating system is all to demonstrate. Almost all modern mainstream operating systems are written in C or in some variant (Objective-C, C++, C# and so on), and there should be a reason, right?

In general there’s no language that’s better than another, but it’s very hard to reach the same mix of abstraction and closeness to the CPU that you can get using C/C++, that’s why it’s so popular among operating systems.

In any case, moving Haiku from C++ to rust would be basically a complete rewrite, so why you just don’t use Redox?