Eu tenho uma dúvida pra você que deve saber... LLVM é programado em C++ , e Rust é feito de código do LLVM, logo é programado em algo que é c++, como o Rust é quase da mesma velocidade do C++, ora ele não é feito de C++?, é como se você ligasse um gerador de energia na tomada
Veja no GitHub que o compilador de Rust é escrito na própria linguagem (mais de 96% do código é Rust, e nada de C++).
Este compilador gera o código intermediário do LLVM, que por sua vez gera o executável - o processo todo é descrito aqui.
Para entender como o compilador de uma linguagem pode ser escrito nela mesma, leia aqui (o link é sobre Java, mas a ideia geral é a mesma para qualquer linguagem).
De qualquer forma, não é a linguagem em que o compilador foi escrito que determina a "velocidade", e sim o que/como a linguagem faz as coisas. Por exemplo, a implementação atual do Python é escrita em C, mas muitas coisas em Python não chegam na mesma velocidade do C porque a linguagem tem um overhead interno - como o fato de cada valor (seja número, string, etc) ser um objeto complexo: uma simples soma de dois números resulta na chamada de um método.
O mesmo vale para qualquer linguagem.
Lua é considerada uma linguagem de alto desempenho, e ela é interpretada! Se usar o LuaJit, ela tem partes do codigo compilado o que a torna ainda mais rapida!
Não é no quê foi escrita, mas sim como foi escrita. Rust é quase da mesma velocidade do C++ mas ela não é C++! Uma vez escrita e compilada, ela deixa de ser C/C++ e passa a ser Rust ou compilador Rust, Logo, com esse Compildor Rust você pode escrever Rust e compilar um novo Rust!
O fato está em como ela foi projetada para funcionar.