Видимо, данный вопрос возник из-за того что код на Rust сначала компилируется в
LLVM-байткод, а далее этот байт-код компилируется в машинный код для заданной системы. Примерно так работает LLVM: исходный код → фронтенд (компилятор языка) → LLVM → бэкенд (транслятор из LLVM-байткода в машкод целевой платформы) → бинарник в машкодах целевой системы.
Таким образом, готовый бинарник является
нативным кодом и
не использует виртуальную машину или байт-код.
P.S. Ну конечно когда мы компилируем в wasm, то получается код для виртуальной машины, потому что WebAssembly ею является, но для этой машины полученный код является нативным. Вот так всё просто и понятно!:)