Эти типы можно использовать в полях общих структур, а также в аргументах и возвращаемых значениях внешних функций.
Обратите внимание, что String в Rust напрямую не соответствует std::string. Этому есть несколько причин:
std::string не поддерживает инвариант UTF-8, который требует String.
У этих типов разная раскладка в памяти, поэтому их нельзя напрямую передавать между языками.
std::string требует конструкторов перемещения, которые не совпадают с семантикой перемещения Rust, поэтому std::string нельзя передать в Rust по значению.