They just didn't want to force it into other OSes when ANSI C was defined and eventually POSIX took up that role.
(This is not to say that rewriting libc is a good way for people knowing Rust to spend their time. It's a ton of effort with the result most likely to be unused and if it is used, then it provides a small benefit to C and C++ programs at the expense of a rather scarce resource - Rust developers - having been diverted from benefiting Rust programs. If I were a Rust enthusiast, I'd much rather write libraries in Rust designed to be used in Rust programs so that more such programs get written more quickly than use Rust to put lipstick on the pigs that are C and C++.)
Once one understands it, getting rid of as much of it as possible makes a lot more sense. The replacement should ideally stand alone eventually, have stronger memory/type/integration safety, not assume what calls it (eg C code) will do things right, and integrate with C easily. Not sure how much Rust fits that as I lack details.
Result would've eliminated all kinds of crashes and host compromises due to C-specific errors. It is ironic that one of the best ways for a C application to be safe while using 3rd party code is avoiding C in that 3rd party code. :)
If it helps any, `getaddrinfo` is actually part of POSIX and not an essential part of C.