> Idiomatic Rust tends to dislike heap allocation and virtual dispatch
Maybe Rust the way most people end up writing it, but Rust the language has no issue with these things. I think the idioms come more from the fact that Rust empowers you to avoid these things, not that it's poorly-suited to them.
I think both are true. Rust is poorly-suited to certain architectures, and empowers us to use other architectures. Rust's idioms take both its strengths and weaknesses into account.
It can make up for it in other ways, but in my experience, Rust is poorly-suited for Roguelike architecture specifically.
Broadly speaking yes, it's good and bad at different things. Specifically ownership is obviously the big challenge, and is often associated with heap allocation and dynamic dispatch. But the latter two in their own right are not any harder or more limited in Rust than anything else.