The relatively low portability of rust programs is definitely one of its largest shortcomings.
Can you elaborate? Although haven't tried it myself, I was under the impression that it's quite possible to write low level code for at least for x86 and ARM (and AVR?).
You can write low level code. Tier 1 platform list is very short however.