Предвосхищая закономерные вопросы "а нафига": дело в том, что код на C/C++ может использовать инструменты
control flow integrity (такие, как
control flow guard) для того, чтобы сделать программу менее подверженную уязвимостям, однако эти методы подразумевают определённую рантайм-оснастку, которая не генерируется для кода, написанного на другом языке, например, на Rust, и это приводит к тому, что смешивание инструментированного кода на C/C++ и не инструментированного, но безопасного кода на Rust
может снизить безопасность результирующей программы.
Один из методов решения этой проблемы — каким-либо образом расширить CFI для того, чтобы компилятор мог анализировать и инструментировать код, написанный на нескольких языках, но это, понятное дело, сложно, и, насколько мне известно, таких попыток пока не предпринималось. В итоге проблему может быть выгоднее решить с другого конца: вместо того, чтобы пытаться связать вместе два сильно отличающихся компилятора, научить компилятор понимать код на другом языке для того, чтобы одна и та же инфраструктура для анализа и инструментирования кода использовалась для всего кода вне зависимости от того, на каком языке он написан.
Папир, кстати, настоятельно рекомендую прочитать.